Linux怎么查看僵尸进程?
老男孩IT教育
行业新闻
2026年1月8日 15:51
僵尸进程是Linux系统中进程管理的常见问题,会占用系统进程表资源,长期积累可能导致新进程无法创建,影响系统稳定性。那么Linux怎么查看僵尸进程?具体请看下文。
僵尸进程是Linux系统中进程管理的常见问题,会占用系统进程表资源,长期积累可能导致新进程无法创建,影响系统稳定性。那么Linux怎么查看僵尸进程?具体请看下文。

可以通过以下几种方法识别系统中的僵尸进程:
使用top命令:运行top,在输出中查看“Tasks”行,如果有“Z”状态的进程,说明存在僵尸进程。在 top界面中,僵尸进程的“STAT”列显示为Z。
使用ps命令:执行命令ps aux | grep Z或更精确地ps aux | awk '{if($8=="Z") print $0}',可以列出所有状态为Z的进程。
使用pstree查看进程树:运行pstree -p,可直观看到进程之间的父子关系,有助于判断哪些僵尸进程是由哪个父进程产生的。
清理僵尸进程的方法
僵尸进程本身不能被直接“杀死”,因为它已经结束运行。真正需要处理的是其父进程。以下是几种常见的处理方式:
重启父进程:如果知道僵尸进程的父进程ID,可以尝试重启该父进程。父进程重启后通常会释放已终止子进程的信息,从而清除僵尸。使用kill -9终止父进程。
向父进程发送SIGCHLD信号:有时父进程未及时处理子进程退出信号,可尝试手动触发kill -s SIGCHLD,促使父进程调用wait()回收僵尸。
编程层面修复:若父进程是你自己开发的应用,应确保正确处理子进程退出,例如注册SIGCHLD信号处理函数并在其中调用waitpid()。
避免产生孤儿僵尸:将子进程交给init托管。init进程会自动回收任何成为孤儿的僵尸进程。可通过double fork技术实现守护进程时规避此问题。
老男孩教育是行业内较早开设Linux运维云计算课程培训的学校,在行业内深耕十多年,经过多年的技术沉淀,重磅打造Linux云计算SRE运维课程。该课程内容体系完善、实战项目丰富,贴合企业用人标准,学完即具备真实实战经验,更好的满足企业用人所需。
老男孩教育专注IT教育10余年,只培养IT技术精英
全国免费咨询电话(渠道合作):400-609-2893











