Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何用shell脚本杀死linux已失效进程_Linux_Shell_Zombie Process - Fatal编程技术网

如何用shell脚本杀死linux已失效进程

如何用shell脚本杀死linux已失效进程,linux,shell,zombie-process,Linux,Shell,Zombie Process,在我的服务器机器中,每天都有一些进程处于不可用状态。它影响我的CPU使用率。需要编写一个shell脚本来终止失效的进程id和父id 例如,当我运行命令时: ps -ef|grep defunct. 找到可能的值。在这方面,我只需要杀死“[chrome]失效”进程 样本条目:- bitnami 12217 12111 0 Feb09 pts/3 00:00:00 [chrome] <defunct> bitnami 12217 12111 2009年2月0日pts/3 0

在我的服务器机器中,每天都有一些进程处于不可用状态。它影响我的CPU使用率。需要编写一个shell脚本来终止失效的进程id和父id

例如,当我运行命令时:

ps -ef|grep defunct.
找到可能的值。在这方面,我只需要杀死“[chrome]失效”进程

样本条目:-

bitnami  12217 12111  0 Feb09 pts/3    00:00:00 [chrome] <defunct>
bitnami 12217 12111 2009年2月0日pts/3 00:00:00[铬]

我需要删除这类chrome条目。有人能推荐一些样品来杀死这些条目吗?它已经死了。父进程需要收获它,然后它就会消失。

在父进程收集尸体或父进程死亡之前,不存在的进程不会消失。当父进程死亡时,失效的进程由PID 1继承(通常是PID 1;它是与作业一起指定的某个系统进程),PID 1被设计为等待死尸并将其从进程表中移除。因此,严格地说,只有当其父代收集尸体时,已失效的进程才会消失;当原来的父对象死亡时,新的父对象收集尸体,这样,不存在的过程最终消失

因此,要么编写父代码以便它等待死去的子进程,要么杀死父进程

请注意,已失效的进程占用的资源很少——基本上是进程表中的一个插槽以及父进程可以请求的资源(计时)信息。
话虽如此,去年我在一台每分钟有3个新的失效进程的机器上工作,这些进程由一个系统进程(而不是PID 1)拥有,但没有被收获。像
ps
这样的事情花了很长很长很长时间,当失效进程的数量攀升到数十万个时。(解决方案是为o/s安装正确的修复包。)它们不是完全无害的,但有几个不是主要问题。

如果它不存在,则无法消耗CPU。如果您看到CPU使用率增加,则会发生其他情况。顺便说一句,这是一个离题的话题。它应该在可能的副本上