Zombie僵尸进程发现,查找,追踪,杀死,避免

2015/9/6鸟哥私房菜第17章 程序管理与SELinux初探 中的僵尸Z进程
发现:使用Top -d 2时候发现一个僵尸Z进程。q退出。Zombie僵尸进程发现,查找,追踪,杀死,避免_第1张图片
查找:
而后通过百度搜索到篇文章http://blog.csdn.net/found2008/article/details/7373562
通过ps aux| ps -efl命令得到所有进程的详细信息,但是僵尸进程的CMD后面还接上。so:


下面一行是由于调用了grep defun*。消除它的话,则使用 ps -efl | grep defunct | grep -v grep.
由上面命令可以得到僵尸进程的全部信息。PID=3512,PPID=3499。
使用ps axjf 查看进程树状态,摘取部分显示如下:
Zombie僵尸进程发现,查找,追踪,杀死,避免_第2张图片
或者是pstree -aup查看系统上面所有的进程树的相关性目前。

追踪到现在还不清楚,后续。。。
杀死:一般僵尸进程很难直接kill,不过可以先kill僵尸的父进程。父进程死后,僵尸进程成为“孤儿进程”,过继给1号进程init,init始终会负责清理僵尸进程,它产生的所有僵尸进程也跟着消失。如果系统过一阵子还没有办通过内核非经常性的特殊处理来将该进程删除时,只好通过reboot方式将该进程抹去。
清除ZOMBIE(僵尸)进程可以使用如下方法: 
  1> kill –18 PPID (PPID是其父进程) 
  这个信号是告诉父进程,该子进程已经死亡了,请收回分配给他的资源。 
  2>如果不行则看能否终止其父进程(如果其父进程不需要的话)。先看其父进程又无其他子进程,如果有,可能需要先kill其他子进程,也就是兄弟进程。方法是: 
  kill –15 PID1 PID2(PID1,PID2是僵尸进程的父进程的其它子进程)。 
  然后再kill父进程:kill –15 PPID 

Zombie僵尸进程发现,查找,追踪,杀死,避免_第3张图片

发现第一种方法没kill。后面就不知道了,待续。。。。。
思路就是找出该进程的父进程,然后好好做一个追踪,好好进行主机的环境优化。
http://www.cnblogs.com/yuxc/archive/2012/11/04/2753391.html
避免啊,待续。。。。


你可能感兴趣的:(Linux)