首页 > 代码库 > Linux 如何杀死僵尸进程
Linux 如何杀死僵尸进程
问题描述:
shell > toptop - 11:14:17 up 630 days, 21:23, 1 user, load average: 0.23, 0.81, 1.07Tasks: 389 total, 1 running, 385 sleeping, 0 stopped, 3 zombieCpu(s): 3.6%us, 0.8%sy, 0.0%ni, 95.3%id, 0.0%wa, 0.0%hi, 0.3%si, 0.0%stMem: 24596748k total, 3346824k used, 21249924k free, 50344k buffersSwap: 8388600k total, 9704k used, 8378896k free, 1649016k cached
# 发现有三个僵尸进程 3 zombie ,这是因为先杀死了父进程导致
shell > ps aux | grep ZUSER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMANDroot 7811 0.0 0.0 0 0 ? Zs 11:15 0:00 [yiic_elastic_kt] <defunct>root 8446 0.0 0.0 103260 872 pts/1 R+ 11:18 0:00 grep Z
# 不给面子,已经自动死了两个,估计是太阳出来了
shell > kill -9 7811
# 这样是杀不死的,还顽强的存活着
解决方法:
shell > ps -ef | grep defunctroot 8850 8840 0 11:20 ? 00:00:00 [yiic_elastic_kt] <defunct>root 8851 8842 0 11:20 ? 00:00:00 [yiic_elastic_kt] <defunct>root 8853 8843 0 11:20 ? 00:00:00 [yiic_elastic_kt] <defunct>root 8855 8839 0 11:20 ? 00:00:00 [yiic_elastic_kt] <defunct>root 9066 7621 0 11:20 pts/1 00:00:00 grep defunct
# 我去,又跑出来三个...
shell > ps -ef | grep defunct | awk ‘{print $3}‘ | xargs -i kill {}
# $3 是这些僵尸进程的父进程 PID ( PPID ),杀之!
shell > ps -ef | grep defunctroot 10008 7621 0 11:24 pts/1 00:00:00 grep defunct
# 已经灰飞烟灭!
Linux 如何杀死僵尸进程
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。