在我的服务器机器中,某些进程每天都会停止运行状态。它会影响我的CPU使用率。需要编写一个shell脚本来终止已失效的进程ID和父ID。
例如,当我运行命令时:
ps -ef|grep defunct.
发现可能值。因为我只需要杀死“[chrome] defunct”进程。
样本条目: -
bitnami 12217 12111 0 Feb09 pts/3 00:00:00 [chrome] <defunct>
我需要杀死这种类型的chrome条目。可以任何人建议一些样本来杀死条目
答案 0 :(得分:4)
在父进程收集尸体或父亲死亡之前,失效进程不会消失。当父进程终止时,失效进程由PID 1继承(通常它是PID 1;它是用作业指定的一些系统进程),并且PID 1被设计为等待死体并从进程表中删除它们。因此,严格地说,当他们的父母收集尸体时,失效的过程才会消失;当原来的父母去世时,新的父母会收集尸体,所以失效的过程终于消失了。
因此,要么编写父代码,以便等待其死孩子,要么终止父进程。
请注意,失效进程占用的资源非常少 - 基本上,进程表中的一个插槽和父进程可以请求的资源(计时)信息。
话虽如此,去年我正在开发一台机器,每分钟有3个新的失效进程,由PID 1以外的系统进程拥有,但没有被收获。像ps
这样的事情花费了很长很长时间,当已经失效的进程数量攀升到数十万时。 (解决方案是为o / s安装正确的修订包。)它们并非完全无害,但有一些不是主要问题。
答案 1 :(得分:2)
它已经死了。父母需要收获它然后它会消失。