发现问题
登录Ubuntu
系统是提示There is 1 zombie process.
相关资料
APEU2对于 僵尸进程(zombie process)的定义:
In UNIX System terminology, a process that has terminated, but whose parent has not yet waited for it, is called a zombie.
父线程在子线程结束时,没有进入wait
方法获取子线程的终止状态,子线程终止后就是僵尸进程。
-
僵尸进程(zombie process)的危害
子线程结束时会发送SIGCHLD
信号给父线程,父线程进入wait
方法释放相关资源,关闭打开的文件等。当父线程不知道子线程已结束,不进入wait
方法释放相关资源,大量的僵尸进程
会占用系统大量资源;另一方面子进程的进程号还一直被占用,当大量的僵尸进程
出现时会导致系统无法创建新的进程。
查看僵尸进程
使用 ps aux | grep Z
查看STAT
为Z
的进程
解决方法
kill父进程
ps -e -o ppid,stat | grep Z | cut -d" " -f2 | xargs kill -9