在Linux中,有时候PS查看进程发现一些进程用kill -9无法杀死,形成了defunct, 即僵尸进程。 这多数情况都是由于父子进程间通信由于某些不知名原因被中途破坏,所以关键核心在于要杀死父进程才行,光kill子进程并不起任何作用。
怎么做?
- 看看这些进程的ID及其父进程ID:
$ ps -ef | grep defunct
显示如下
username 5432 6789 0 17:08 pts/18 00:00:00 grep --color=auto defunct
username 12345 12341 4 17:01 pts/18 00:01:14 [python] <defunct>
- 杀死进程
如果你直接使用命令 “kill -9 12345” 尝试杀死ID为12345的python僵尸进程,可能会没效果。
正确的做法是杀死他的父进程:
$kill -9 12341
好了,现在这个僵尸进程终于可以被杀死了,试一下对你是否有用吧。
当使用kill-9无法消除Linux中的僵尸进程时,通常需要杀死其父进程。通过`ps -ef | grep defunct`查找僵尸进程及其父进程ID,然后使用`kill -9`命令杀死父进程,例如`kill -9 12341`,来有效地结束僵尸进程。
&spm=1001.2101.3001.5002&articleId=116532916&d=1&t=3&u=d0576f3e271148b89161d5e71df66e36)
5050

被折叠的 条评论
为什么被折叠?



