Moh*_*gam 3 linux shell zombie-process
在我的服务器计算机中,每天都有一些进程进入失效状态。它会影响我的 CPU 使用率。我需要编写一个 shell 脚本来终止已失效的进程 id 和父进程 id。
例如,当我运行命令时:
ps -ef|grep defunct.
Run Code Online (Sandbox Code Playgroud)
它发现了很多价值。因为我只需要杀死“[chrome]已失效”进程。
示例条目:-
bitnami 12217 12111 0 Feb09 pts/3 00:00:00 [chrome] <defunct>
Run Code Online (Sandbox Code Playgroud)
我需要杀死这种类型的 chrome 条目。任何人都可以建议一些示例来删除条目吗?
在父进程收集尸体或父进程死亡之前,失效的进程不会消失。当父进程死亡时,失效的进程将由 PID 1 继承(通常是 PID 1;它是由作业指定的某个系统进程),PID 1 被设计为等待死亡尸体并将其从进程表中删除。因此,严格来说,失效的进程只有在其父进程收集尸体时才会消失;当原来的父进程死亡时,新的父进程会收集尸体,因此失效的进程最终消失。
因此,要么编写父进程代码以使其等待其死亡的子进程,要么终止父进程。
请注意,已失效的进程占用的资源非常少 - 基本上是进程表中的一个槽以及父进程可以请求的资源(计时)信息。话虽如此,去年我在一台机器上工作,每分钟有 3 个新的失效进程,这些进程属于除 PID 1 之外的系统进程,但没有被收集。ps当失效进程的数量攀升至数十万时,类似的事情花了很长、很长、很长的时间。(解决方案是为操作系统安装正确的修复包。)它们并非完全无害,但其中一些并不是主要问题。
| 归档时间: |
|
| 查看次数: |
13965 次 |
| 最近记录: |