There is already an accepted answer, however: you CAN kill the zombie process. Attach with the debugger to the parent process and call waitpid function. E.g.: - let's assume that the parent has PID=100, the zombie process has PID=200
$ gdb -p 100
(gdb) call waitpid(200, 0, 0)
(gdb) quit
你不能杀死一个已经失效的进程。用别人的话说:
http://www.linuxquestions.org/questions/suse-opensuse-60/howto-kill-defunct-processes-574612/
因为你的进程的父 pid 是 init (1),所以除了重启你什么都做不了。
https://unix.stackexchange.com/questions/11172/how-can-i-kill-a-defunct-process-whose-parent-is-init
我无法对此进行测试,但这个人说你可以像这样摆脱一个已经失效的进程:
什么是僵尸进程,如何杀死它?
这家伙遇到了一个似乎继续运行的已失效进程的问题。我不明白,但这是链接。在这种情况下
kill -9 pid
声称工作。僵尸进程仍然活着并且工作正常,但不能被杀死?