编写多进程程序的时候,偶尔会发现某些进程被结束后,它变成了僵尸进程 <defunct> ,跟孤魂野鬼似的。怎么办?
比如该进程的名称是 a.out。我们先找到该进程的父进程。怎么办?
ps -ef|grep a.out
看到第一列是进程的所有者,第二列是进程的编号,第三列是进程的父进程编号。比如是 3345。 我们需要先结束掉这个父进程。怎么做?
kill -9 3345
再次检查僵尸进程还在不在。如果父进程被成功结束掉了。那么理论上,该僵尸进程也已经被清理。
编写多进程程序的时候,偶尔会发现某些进程被结束后,它变成了僵尸进程 <defunct> ,跟孤魂野鬼似的。怎么办?
比如该进程的名称是 a.out。我们先找到该进程的父进程。怎么办?
ps -ef|grep a.out
看到第一列是进程的所有者,第二列是进程的编号,第三列是进程的父进程编号。比如是 3345。 我们需要先结束掉这个父进程。怎么做?
kill -9 3345
再次检查僵尸进程还在不在。如果父进程被成功结束掉了。那么理论上,该僵尸进程也已经被清理。