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 命令查看 僵尸进程数量
在这里插入图片描述
正如你在上面截图中看到的,截图中共有 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 ↩︎

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值