在Linux中,有时候PS查看进程发现一些进程用kill -9无法杀死,形成了defunct, 即僵尸进程。 这多数情况都是由于父子进程间通信由于某些不知名原因被中途破坏,所以关键核心在于要杀死父进程才行,光kill子进程并不起任何作用。

怎么做?

  1. 看看这些进程的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>
  1. 杀死进程

如果你直接使用命令 “kill -9 12345” 尝试杀死ID为12345的python僵尸进程,可能会没效果。
正确的做法是杀死他的父进程:

$kill -9 12341 

好了,现在这个僵尸进程终于可以被杀死了,试一下对你是否有用吧。

Logo

更多推荐