Ubuntu中找到并杀死僵尸进程

99封情书 提交于 2021-02-05 14:42:24

Ubuntu中产生zombie进程让人很懊恼啊。Windows中在任务管理器里直接找到无响应的进程并结束他就行了,但是ubuntu中需要用命令去解决。

System information as of Wed May 28 16:07:18 CST 2014

System load: 0.28 Processes: 205
Usage of /home: 1.2% of 72.15GB Users logged in: 1
Memory usage: 14% IP address for eth0: 192.168.2.113
Swap usage: 0%

=> There is 1 zombie process.

Graph this data and manage this system at:
https://landscape.canonical.com/

 

可利用命令 ps aux | grep 'Z' 来找到僵尸进程,列出的结果同时也将grep列了出来,这个不用管他。

vito@vito-Lenovo-G460:~$ ps aux | grep 'Z'
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
vito 25593 0.0 0.0 0 0 ? Z 16:03 0:00 [lightdm-session] <defunct>
vito 28091 0.0 0.0 5836 820 pts/2 S+ 16:08 0:00 grep --color=auto Z

 

找到了僵尸进程是不够的,直接kill这个僵尸进程并不能解决问题,必须去终结这个僵尸进程的父进程。但是他的父进程是谁呢?可使用命令 pstree -p -s PID来寻找编号为PID进程也就是僵尸进程的父级进程。

vito@vito-Lenovo-G460:~$ pstree -p -s 25593
init(1)───lightdm(1058)───lightdm(25446)───gnome-session(25566)───lightdm-session(25593)

现在利用 kill PID 命令来杀死他就行了。

但是这里有个问题,就像上面演示的例子,僵尸进程的父进程是gnome-session,终结他会注销系统。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!