0

0

Linux 进程僵尸与孤儿处理技巧

冰川箭仙

冰川箭仙

发布时间:2026-02-22 19:25:26

|

224人浏览过

|

来源于php中文网

原创

linux中僵尸进程需用ps查z状态、发sigchld信号或重启父进程处理;孤儿进程由init收养,可用ps筛选ppid=1的进程并检查命令;父进程卡死时可用gdb附加调试定位wait类阻塞点。

linux 进程僵尸与孤儿处理技巧

当Linux系统中出现进程无法正常终止或父进程提前退出时,可能会产生僵尸进程或孤儿进程。以下是处理这两类异常进程的具体技巧:

一、识别僵尸进程

僵尸进程是已终止但其退出状态尚未被父进程读取的子进程,仍保留在进程表中。通过ps命令可检测其存在,状态标记为Z。

1、执行ps aux | grep 'Z',筛选出状态列为Z的进程行。

2、记录输出中PID列的数值及对应PPID(父进程ID)。

3、使用ps -o pid,ppid,stat,comm -p <strong><font color="green">记录的PID</font></strong>验证进程状态是否为Z。

二、向父进程发送SIGCHLD信号

父进程可能未及时调用wait()或waitpid()回收子进程资源,手动触发可促使其清理僵尸进程。

1、获取僵尸进程的PPID,例如为1234

2、执行kill -s SIGCHLD <strong><font color="green">1234</font></strong>向父进程发送信号。

3、再次运行ps aux | grep 'Z'确认僵尸进程是否消失。

三、重启异常父进程

若父进程存在逻辑缺陷或陷入阻塞,无法响应SIGCHLD,终止并重启该进程可强制释放所有子进程资源。

1、使用ps -p <strong><font color="green">PPID值</font></strong> -o comm=查出父进程名称。

大师兄智慧家政
大师兄智慧家政

58到家打造的AI智能营销工具

下载

2、执行kill <strong><font color="green">PPID值</font></strong>终止父进程。

3、根据服务类型重新启动,如systemctl start 对应服务名或直接运行原启动命令。

四、查找并接管孤儿进程

孤儿进程是父进程终止后仍在运行的子进程,会被init(PID 1)或systemd自动收养,但需确认其行为是否符合预期。

1、运行ps -eo pid,ppid,comm | awk '$2 == 1 && $1 != 1 {print}'列出PPID为1且非init本身的进程。

2、对每个结果PID,执行ps -o pid,ppid,stat,cmd -p <strong><font color="green">PID</font></strong>查看当前状态与完整命令。

3、若发现异常长期运行的孤儿进程,可依据其cmd字段判断是否需要手动干预或终止。

五、使用gdb附加调试疑似卡死父进程

当父进程疑似因wait调用阻塞导致僵尸积压,可通过调试器检查其系统调用栈,定位阻塞点。

1、获取父进程PID,例如为5678

2、执行gdb -p <strong><font color="green">5678</font></strong>附加到进程。

3、在gdb中输入thread apply all bt显示所有线程回溯,查找是否停留在wait、waitpid或sigwait等系统调用上。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
python中print函数的用法
python中print函数的用法

python中print函数的语法是“print(value1, value2, ..., sep=' ', end=' ', file=sys.stdout, flush=False)”。本专题为大家提供print相关的文章、下载、课程内容,供大家免费下载体验。

192

2023.09.27

python print用法与作用
python print用法与作用

本专题整合了python print的用法、作用、函数功能相关内容,阅读专题下面的文章了解更多详细教程。

13

2026.02.03

堆和栈的区别
堆和栈的区别

堆和栈的区别:1、内存分配方式不同;2、大小不同;3、数据访问方式不同;4、数据的生命周期。本专题为大家提供堆和栈的区别的相关的文章、下载、课程内容,供大家免费下载体验。

421

2023.07.18

堆和栈区别
堆和栈区别

堆(Heap)和栈(Stack)是计算机中两种常见的内存分配机制。它们在内存管理的方式、分配方式以及使用场景上有很大的区别。本文将详细介绍堆和栈的特点、区别以及各自的使用场景。php中文网给大家带来了相关的教程以及文章欢迎大家前来学习阅读。

595

2023.08.10

线程和进程的区别
线程和进程的区别

线程和进程的区别:线程是进程的一部分,用于实现并发和并行操作,而线程共享进程的资源,通信更方便快捷,切换开销较小。本专题为大家提供线程和进程区别相关的各种文章、以及下载和课程。

715

2023.08.10

Java 并发编程高级实践
Java 并发编程高级实践

本专题深入讲解 Java 在高并发开发中的核心技术,涵盖线程模型、Thread 与 Runnable、Lock 与 synchronized、原子类、并发容器、线程池(Executor 框架)、阻塞队列、并发工具类(CountDownLatch、Semaphore)、以及高并发系统设计中的关键策略。通过实战案例帮助学习者全面掌握构建高性能并发应用的工程能力。

94

2025.12.01

磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

1520

2023.06.21

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

715

2023.06.29

pixiv网页版官网登录与阅读指南_pixiv官网直达入口与在线访问方法
pixiv网页版官网登录与阅读指南_pixiv官网直达入口与在线访问方法

本专题系统整理pixiv网页版官网入口及登录访问方式,涵盖官网登录页面直达路径、在线阅读入口及快速进入方法说明,帮助用户高效找到pixiv官方网站,实现便捷、安全的网页端浏览与账号登录体验。

1030

2026.02.13

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 9.5万人学习

Git 教程
Git 教程

共21课时 | 3.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号