在网上学习top命令时,在一篇博客中发现他的服务器top命令截图中存在一个僵尸进程,顺手查找了一下解决僵尸进程的方法。
找到僵尸进程的相关信息
1、ps -e -o stat,ppid,pid,cmd|egrep '^[Zz]'
ps:ps命令用于获取当前系统的进程信息.
-e:参数用于列出所有的进程
-o:参数用于设定输出格式,这里只输出进程的stat(状态信息)、ppid(父进程pid)、pid(当前进程的pid),cmd(即进程的可执行文件。
egrep:是linux下的正则表达式工具
'^[Zz]'
:这是正则表达式,^表示第一个字符的位置,[Zz],表示z或者大写的Z字母,即表示第一个字符为Z或者z开头的进程数据,只所以这样是因为僵尸进程的状态信息以Z或者z字母开头。
2、ps -ef | grep "defunct"
大多数linux系统,也会将僵尸进程标识为defunct
找到之后,就可以通过kill -9来终止父进程(记得是父进程)
kill -9 PPID
#PPID 即真实的父进程ID
参考:https://blog.csdn.net/qq_39597203/java/article/details/79499682