显示Zombie状态进程
ps -eo state,pid,cmd | grep '^Z'
进程状态主要有:
R(运行中)
S(睡眠中,可中断)
D(睡眠中,不可中断)
T(暂停或被追踪)
X( 已退出,即将被销毁)
Z(已退出,成为僵尸进程)
p
s列出的进程状态在S那一栏,ps的用法详见man手册
怎样来清除僵尸进程:
1.改写父进程,在子进程死后要为它收尸。具体做法是接管SIGCHLD信号。子进程死后,会发送SIGCHLD信号庆旅给父进程大手,父进程收到此信号后,执行waitpid()函数为子进程收尸。这是基于这样的原理:就算父进程没有调用wait,内核也会向它发送SIGCHLD消滚差嫌息,尽管对的默认处理是忽略,如果想响应这个消息,可以设置一个处理函数。
2.把父进程杀掉。父进程死后,僵尸进程成为"孤儿进程",过继给1号进程init,init始终会负责清理僵尸进程.它产生的所有僵尸进程也跟着消失。
因为没有指出是什么系统,我这里回答一下Linux下如何通过ps命令来查看僵尸郑早进程:
ps的帮助文档中有指出,僵尸进程会被标记为defunct。
Processes 碰行marked <defunct> are dead processes (so-called "zombies") that remainbecause their parent has not destroyed them properly. 笑丛哗
These processes will be destroyed by init(8) if the parent process exits.
所以通过下面命令可以查找出僵尸进程:
ps aux | grep defunct僵尸进程也就是Zombie进程,在Ubuntu系统中,要如何查找和杀死僵尸进程呢?随我一起局此来了解下吧。查找Zombie进程首先,当桌面程序卡死的时候,你可以尝试进入其他tty终端。切换方式:ctrl + alt + [1,2,3,4,5,6,7],7是桌面终端其次,你可以使用top命令查看当前是否有Zombie进程从上图可以看到僵尸进程数,num zombie,num大于0,则代表系统存在僵尸进程最后,利用ps命令查找Zombie进圆腊袭程ps -A -ostat,ppid,pid,cmd | grep -e ‘^[zZ]’示例 :具体参数解释可以通过man来自己学习杀死Zombie进程直接kill -9 Zombiepid是没有作用的,原因是:Zombie表示进程已经退出,想要清理这样的进程,需要清除其父进程或者等很长时间后内核将其清除kill -HUP ppid上面就是Ubuntu查杀僵尸进橘兄程的方法介绍了,通过本文介绍的方法就能将僵尸进程去除,及时没有彻底清除,也不影响系统的运行。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)