社区
Linux/Unix社区
帖子详情
【如何彻底杀死子进程】Kill -9子进程后进程呈僵死状态
dongpy
2009-02-12 03:43:10
应用程序中,父进程A创建子进程B,C,然后要Kill子进程,kill(pid,SIGKILL)。
发现Kill后,子进程呈僵死状态,没有完全清除,子进程各个线程的PID也没有释放。
这样,操作多次后(反复创建和杀死),不能创建任何进程,系统提示“sh:Cannot fork”。
请问该如何彻底Kill子进程,还是我的这个系统有问题?
...全文
1378
9
打赏
收藏
【如何彻底杀死子进程】Kill -9子进程后进程呈僵死状态
应用程序中,父进程A创建子进程B,C,然后要Kill子进程,kill(pid,SIGKILL)。 发现Kill后,子进程呈僵死状态,没有完全清除,子进程各个线程的PID也没有释放。 这样,操作多次后(反复创建和杀死),不能创建任何进程,系统提示“sh:Cannot fork”。 请问该如何彻底Kill子进程,还是我的这个系统有问题?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
erigido
2009-02-13
打赏
举报
回复
呵呵~~~,你这个多次也太多了吧,僵尸进程占用的资源极少,除了PCB未释放。
个人比较偏向于7楼的建议,在SIGCHLD信号里进行wait操作。
ewuby
2009-02-13
打赏
举报
回复
kill 父进程
快乐田伯光
2009-02-13
打赏
举报
回复
在SIGCHLD信号里进行wait操作,就可以避免僵死进程
playmud
2009-02-12
打赏
举报
回复
是当时父进程阻塞了,没有去处理子进程的退出信号,就成了僵死进程。
dongpy
2009-02-12
打赏
举报
回复
测试了SIGCHLD和SIGCLD:
父进程A,Kill子进程B,A没有收到这两个信号。
忽略这两个信号,也没用。
帅得不敢出门
2009-02-12
打赏
举报
回复
有关更多僵尸进程信息请查阅其它资料
比如:http://baike.baidu.com/view/758736.html
帅得不敢出门
2009-02-12
打赏
举报
回复
这个是所谓的zombie(僵尸进程)
引用一段:
在fork()/execve()过程中,假设子进程结束时父进程仍存在,而父进程fork()之前既没安装SIGCHLD信号处理函数调用waitpid()等待子进程结束,又没有显式忽略该信号,则子进程成为僵尸进程,无法正常结束,此时即使是root身份kill -9也不能杀死僵尸进程。补救办法是杀死僵尸进程的父进程(僵尸进程的父进程必然存在),僵尸进程成为"孤儿进程",过继给1号进程init,init始终会负责清理僵尸进程。
僵尸进程是指的父进程已经退出,而该进程dead之后没有进程接受,就成为僵尸进程.(zombie)进程
dongpy
2009-02-12
打赏
举报
回复
问题是父进程A,要Kill子进程B。
linaxing
2009-02-12
打赏
举报
回复
把子进程的父进程杀死就可以了。因为子进程退出后要等到其父进程调用wait后,该进程项才会从进程表里面删除。
linux 父
进程
被杀的信号,Linux 父
进程
发送信号
杀死
子
进程
本文探讨了如何在C程序中使用signal和wait系列函数来处理SIGCHLD信号,包括注册信号回调、fork操作、
子
进程
循环与睡眠、父
进程
kill
与waitpid的交互,以及
子
进程
僵死
状态
的避免。重点讲解了wait和waitpid的区别,以及如何正确处理
子
进程
终止信号,确保资源释放和程序流程的正常流转。
僵死
进程
本文深入解析
僵死
进程
的产生原因,介绍了如何在Linux系统中识别并处理
僵死
进程
的方法。
僵死
进程
通常由未妥善处理的
子
进程
退出
状态
引起,通过特定的ps命令可以检查系统中是否存在此类
进程
。文章还提供了
杀死
僵死
进程
的有效策略,包括找到并终止其父
进程
。
Linux--
进程
的7种
状态
,僵尸
进程
与孤儿
进程
本文探讨了Linux中
进程
的7种
状态
,重点讲解了僵尸
进程
和孤儿
进程
的产生原因。通过示例展示了如何使用
kill
命令改变
进程
状态
,特别指出当
子
进程
退出而父
进程
未接收其信息时,
子
进程
会进入
僵死
状态
。此外,还提到父
进程
退出后,
子
进程
会被init
进程
(PID 1)领养。
Linux中查看
进程
状态
信息
本文详细介绍Linux环境下
进程
状态
信息的查看方法,包括ps、top等常用命令的使用技巧,以及如何通过
kill
命令清除
进程
。深入解析
进程
状态
代码,帮助读者理解
进程
的运行
状态
,提升系统监控与管理能力。
kill
命令ppid linux_linux 学习笔记--
kill
杀死
进程
本文介绍Linux下
进程
的各种
状态
及如何使用ps和
kill
命令有效管理
进程
。包括如何安全地
杀死
进程
及其
子
进程
,避免僵尸
进程
的产生,以及如何优雅地重启
进程
。
Linux/Unix社区
23,223
社区成员
74,536
社区内容
发帖
与我相关
我的任务
Linux/Unix社区
Linux/Unix社区 应用程序开发区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章