我可以删除[php] <defunct>进程吗?

Lao*_*neo 3 linux process kill-process

我创建了一个PHP脚本,它读取一些数据并使用pctnl_fork启动一个新进程来处理数据.子进程完成后,它们将作为进程保留.ps aux向我展示了一个过程列表

demo       32229  0.0  0.0      0     0 pts/0    Z    12:23   0:00 [php] <defunct>
demo       32251  0.0  0.0      0     0 pts/0    Z    11:50   0:00 [php] <defunct>
demo       32284  0.0  0.0      0     0 pts/0    Z    11:50   0:00 [php] <defunct>
demo       32298  0.0  0.0      0     0 pts/0    Z    12:56   0:00 [php] <defunct>
demo       32303  0.0  0.0      0     0 pts/0    Z    11:50   0:00 [php] <defunct>
demo       32316  0.0  0.0      0     0 pts/0    Z    12:23   0:00 [php] <defunct>
Run Code Online (Sandbox Code Playgroud)

我可以安全地终止这个进程,因为父进程仍在创建新进程来完成某些工作吗?我知道我应该启动命令管道到stderr(根据这个主题疯狂的crond行为.现在继续制作已解散的bash进程为时已晚.父进程在后台运行.

小智 6

做了一些研究之后,看起来你必须杀掉这些已经失效的子进程的父进程才能消失.

链接中最相关的引用说:"你不能杀死一个已经死亡的已经失效的进程(也就是僵尸)."

  • 补充一下,僵尸进程根本存在是因为父进程可以收集其退出状态。如果父母从不检查,他们会一直呆到父母退出。 (2认同)