最近因为学习java,会在chrome里开很多标签,并且会折腾一些扩展插件提醒自己一些邮件等事情,结果经常就会莫名其妙的把我桌面程序卡死,原因很简单就是产生了Zombie进程,这里不讲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
后记
不知道为什么我注销之后重新登录还有这个僵尸进程,怀疑是否是LightDM的bug,不过Ubuntu12.04 desktop display manager就是LightDM,所以kill -HUP至少起到了注销的作用,不用重启了
相关阅读:
Linux 的僵尸(zombie)进程
Linux下僵尸进程的处理