linux 僵尸进程查看及删除

https://zhuanlan.zhihu.com/p/425381927

root 1461 1 0 Jun15 ? 00:12:27 /usr/sbin/rsyslogd -n
root 1464 1 0 Jun15 ? 01:56:56 /usr/bin/containerd
root 1489 1461 0 Jun15 ? 00:00:00 [conceal-shell]

defunct 失效的进程
通过 top 命令查看 僵尸进程数量
linux 僵尸进程查看及删除_第1张图片
正如你在上面截图中看到的,截图中共有 250 个任务(进程),其中 1 个处在 “ 运行中(running)” 状态,248 个进程处于 “ 休眠(sleep)” 状态,还有一个处于 “ 僵尸(zombie)” 状态。

现在问题进入下一步,如何杀死 “僵尸” 进程?
使用命令:

[super@work-185 ~]$ ps -ef | grep defunct
root      1489  1461  0 Jun15 ?        00:00:00 [conceal-shell] <defunct>
super     4961  2446  0 09:36 pts/2    00:00:00 grep --color=auto 1489
[super@work-185 ~]$ ps -A -ostat,ppid,pid,cmd | grep -e '^[Zz]'
>$ 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 '1'来确认是否已经将僵尸进程杀死

如果kill 子进程的无效,可以尝试kill 其父进程来解决问题,例如上面例子父进程pid是 12334,那么我们就运行
  kill -HUP 12334

kill -HUP pid
其中 pid 是进程标识。如果想要更改配置而不需停止并重新启动服务,则使用该命令。在对配置文件作必要的更改后,发出该命令以动态更新服务配置。

http://t.zoukankan.com/xiaofeiIDO-p-8036633.html


  1. Zz ↩︎

你可能感兴趣的:(Linux,linux,运维,服务器)