大量已失效的 sh 僵尸进程

大量已失效的 sh 僵尸进程

我有很多正在运行的已停止运行的sh进程数。当我执行此命令来计算它们的数量时:

ps -ax | grep sh | wc -l

它说我目前有 2655 个。它们会占用任何系统资源吗?我不知道它们来自哪里,这是 ps 命令给我的唯一数据:

32637 ?        Z      0:00 [sh] <defunct>

有人知道如何阻止这种情况发生,以及如何终止这些进程?

答案1

lsof -p 32637

将为您提供有关该进程的更多信息。查看导致此问题的父进程有助于防止此问题发生。

答案2

它们会消耗系统资源吗?

我相信,除了流程表中的一个插槽以外,没有什么其他内容。

如何阻止这种情况发生?

确定产生它们的父进程,并找出为什么它不等待子进程死亡(因此不收获它们)

如何终止这些进程?

你不能杀死已经死去的东西。如果父级被杀死,init 最终应该继承它们并为你收割它们。

答案3

如何终止这些进程?

这将终止所有已停止的进程

ps -ef | grep defunct | grep -v grep | cut -b8-20 | xargs kill -9

相关内容