在我的RHEL 6.7 VM上,僵尸进程的数量正在增加。僵尸不消耗任何内存或CPU,但我看到他们使用top命令。 我使用了#kill -9 PID和#kill -SIGCHLD PID但没有任何反应。
我试图#kill -9 4650和#kill -SIGCHLD 4650.(4650是PPID)还试图杀死孩子。杀死孩子时,它没有显示错误。在杀死父母时,它显示"操作不被允许"
答案 0 :(得分:1)
父流程不是"拖地"他们了父进程应该调用wait系统调用。
快速解决方案是终止父进程。然后他们变成了孤儿,并会从top
消失,因为init
会解决问题。
答案 1 :(得分:0)
它们不消耗内存或CPU,因为僵尸进程只是一个进程状态记录而没有与之关联的实际进程。它被遗忘,以便父进程可以找出子进程的退出代码。除非你是父进程程序的作者并且打算修复它,否则试图让它们消失并没有什么好处。