架构师

您现在的位置是:首页 > 技术博客 > 爱运维

爱运维

kill命令杀不掉进程怎么办?

架构师小跟班 2020-06-01 爱运维
用ps和grep命令寻找僵尸进程ps -A -ostat,ppid,pid,cmd | grep -e '^[Zz]'命令注解:-A 参数列出所有进程 -o 自定义输出字段 我们设定显示字段为 stat(状态), ppid(进程

用ps和grep命令寻找僵尸进程

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

命令注解:

-A 参数列出所有进程 

-o 自定义输出字段 我们设定显示字段为 stat(状态), ppid(进程父id), pid(进程id),cmd(命令)这四个参数 因为状态为 z或者Z的进程为僵尸进程

grep:抓取stat状态为zZ进程 

运行结果参考如下:

Z 12334 12339 /path/cmd

这时,我们可以使用 kill -HUP 12339来杀掉这个僵尸进程

运行后,可以再次运行:

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

确认是否已经将僵尸进程杀死。

如果kill子进程无效,可以尝试kill其父进程,例如上面例子父进程pid是 12334,那么就运行:

kill -HUP 12334

来解决问题

一般可以用top命令发现动态进程表:

其中zombie是僵尸进程,前面的0是僵尸进程的个数。

文章评论