僵尸进程

Centos如何查看并杀死僵尸进程


 
 
发现系统中有很多僵尸进程,现在就是找出这些僵尸进程,并将其杀死。

用top查看系统中的僵尸进程情况

top - 05:52:22 up 6 days, 10:55,  3 users,  load average: 11.54, 9.83, 9.40
Tasks: 526 total,   1 running, 521 sleeping,   0 stopped,   4 zombie
Cpu(s):  9.1%us,  2.7%sy,  0.8%ni, 19.8%id, 67.3%wa,  0.0%hi,  0.3%si,  0.0%st
Mem:  16268768k total, 16115328k used,   153440k free,  2151920k buffers
Swap: 18546684k total,  4917004k used, 13629680k free,  9611404k cached

再看看这些僵尸是什么程序来的

ps -A -o stat,ppid,pid,cmd | grep -e '^[Zz]'

因为状态为 z或者Z 的进程为僵尸进程,所以我们使用grep抓取stat状态为zZ进程

运行结果参考如下

root@test [~]# ps -A -o stat,ppid,pid,cmd | grep -e '^[Zz]'
Z     976846  163280 [pure-ftpd]
Z     152336  163387 [php]
Z     158466  163463 [php]

这里一共出现了3个僵死进程,我们需要把它们一个个都干掉,执行下面的命令

kill -9 976846

这样处理的速度有点慢,直接来个快速干掉所有僵尸进程的命令

ps -A -o stat,ppid,pid,cmd | grep -e '^[Zz]' | awk '{print $2}' | xargs kill -9

再查看,僵尸进程没有了!

posted @ 2017-12-04 16:41  来自牧羊人  阅读(337)  评论(0编辑  收藏  举报