如何处理僵尸进程

admin 2026-01-05 17:54:24 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 文章指出僵尸进程是已终止但未被父进程回收的进程,常因资源异常触发,不耗内存却会推高系统负载,作者用ps与lsof定位因iscsi掉盘产生的僵尸进程,通过杀掉占用挂载的进程让init自动回收,使负载从50降至0.59,强调父进程为1时禁止误杀,通用清理为kill-9pidppid。 综合评分: 78 文章分类: 应急响应,系统运维,实战经验


cover_image

如何处理僵尸进程

原创

hyang0

生有可恋

2026年1月5日 07:57 湖北

僵尸进程(Zombie Process)是已终止但尚未被父进程回收的进程。出现僵尸进程说明任务出现异常,一般还伴随系统负载过高等问题,需要特殊关注。

通过 top 命令可以查看到当前系统中僵尸进程的数量。

使用命令定位僵尸进程:

ps -ef | grep -v grep | grep defunct

一般杀僵尸进程需要将其父进程一起杀掉,但其父进程是1号进程时不能这样干。

需要先定位一下问题,是什么原因导致的僵死进程的发生。因为这台系统的 iscsi 硬盘掉盘了,导致任务执行时失败,于是出现了大量的僵尸进程。

定位到 iscsi 挂载目录被程序占用无法卸载,使用 lsof 定位进程,然后杀掉对应进程。

当杀掉 iscsi 挂载目录占用的进程后,再查看僵尸进程发现系统已经自己清理了。

僵尸进程的父进程是 init(PID=1)的进程,不需要使用 kill 杀掉。当清掉一些资源占用因素后,init 进程会自动回收僵尸进程,无需手动干预。

通用的清理僵尸进程的命令为:

kill -9&nbsp;<pid>&nbsp;<ppid>

这里的 ppid 是进程的父进程,如果父进程是 1 ,不要随便杀,它是所有进程的祖宗。

在清理掉僵尸进程后系统的负载从50降到了0.59,僵尸进程会对系统的负载造成影响。僵尸进程不占用内存,内存占用高一般与僵尸进程无关。

全文完。


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:生有可恋 hyang0《如何处理僵尸进程》

如何处理僵尸进程 网络安全文章

如何处理僵尸进程

文章总结: 文章指出僵尸进程是已终止但未被父进程回收的进程,常因资源异常触发,不耗内存却会推高系统负载,作者用ps与lsof定位因iscsi掉盘产生的僵尸进程,
评论:0   参与:  0