【问题标题】:How to kill/stop a process that continuously refreshes its PID?如何杀死/停止不断刷新其PID的进程?
【发布时间】:2023-07-08 13:52:01
【问题描述】:

我最近在我的 Ubuntu 服务器上安装了 Graylog2 用于日志监控。不久后,我收到一条警报,指出我的 CPU 已达到最大容量。然后我通过 SSH 登录到我的服务器并运行 top。我所看到的让我感到困惑,并且很难终止该进程。

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                                   
 2462 graylog2  20   0 2103292  42684  16424 S  19.3  1.1   0:00.58 java                                                      
 2470 graylog+  20   0 2295612  46368  16032 S  13.0  1.1   0:00.39 java                                                      
 1971 www-data  20   0  354808  36140  19392 S  10.0  0.9   0:00.61 php5

每次top刷新时,我看到graylog的PID都增加了,所以我无法通过PID杀死它。

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                                   
16937 www-data  20   0  357988  52140  34244 S  45.3  1.3   0:07.45 php5-fpm                                                  
24588 graylog2  20   0 2079236  35464  15576 S   9.7  0.9   0:00.29 java                                                      
24547 graylog+  20   0 2295612  37148  15640 S   8.0  0.9   0:00.24 java

杀死/停止不断重新实例化自己的进程的正确方法是什么?

【问题讨论】:

  • 检查他们的父 pids?杀死他们的父母可以解决问题。
  • 你不需要孩子的 PID 来确定父 PID 吗?如果是这样,我的孩子 PID 会不断变化。
  • ps -l 会显示每个进程的父进程ID。

标签: linux ubuntu process graylog2


【解决方案1】:

我现在没有灰色日志。但也许'killall'可以帮助你。它按名称处理进程。

http://linux.die.net/man/1/killall

请在使用前阅读手册页。 我不经常使用它。所以我不知道缺点。 (如果有的话)

【讨论】:

  • 这似乎是一个合理的解决方案。将调查并让您知道。谢谢!
  • 问题现已开放三年多。这解决了吗?您实际上是如何解决的?希望这也可以帮助其他人:)
最近更新 更多