总结一下,kill defunct process的步骤大概如下
:
1)杀掉父进程。
ps -ef | grep defunct ,前三列分别是UID、PID、PPID(这就是进程他爹啦)。把进程他爹杀杀杀。
2)杀掉子进程。
ps -ef --forest。把子进程杀杀杀。
3)也许是nfs的问题,look into it。
4)如果这个进程是个内部服务,可以尝试将所有与该服务
有建立TCP连接的进程都关闭掉。netstat -tnp | grep 端口号。最后一列是pid,杀杀杀。我要说明一下,这个方法我并没有找到理论支持,但在CentOS5.4环境下,它很多次帮我解决了问题。
5)如果到了这一步
defunct进程还健在,It's very unlucky. 有两个艰难的选择:1、重启服务器; 2、等待,一般不到20分钟这个defunct进程会自动消失