僵尸进程的产生和避免
来源:互联网 发布:linux内核版本号 编辑:程序博客网 时间:2024/05/05 13:14
在fork()/execve()过程中,假设子进程结束时父进程仍存在,而父进程fork()之前既没安装SIGCHLD信号处理函数调用 waitpid()等待子进程结束,又没有显式忽略该信号,则子进程成为僵尸进程,无法正常结束,此时即使是root身份kill -9也不能杀死僵尸进程。补救办法是杀死僵尸进程的父进程(僵尸进程的父进程必然存在),僵尸进程成为”孤儿进程”,过继给1号进程init,init始 终会负责清理僵尸进程。
产生原因:
1.在子进程终止后到父进程调用wait()前的时间里,子进程被称为zombie。
2.网络原因有时会引起僵死进程。
解决方法:
1.设置SIGCLD信号为SIG_IGN,系统将不产生僵死进程。
2.用两次fork(),而且使紧跟的子进程直接退出,是的孙子进程成为孤儿进程,从而init进程将负责清除这个孤儿进程。
引:
http://hi.baidu.com/wlzqi/blog/item/208cebc4b1c02dab8326ac79.html
- 僵尸进程的产生和避免
- 僵尸进程的产生和避免 [zt]
- 僵尸进程的产生和避免
- 僵尸进程的产生和避免
- 僵尸进程的产生和避免
- 【专题1】僵尸进程的产生和避免
- 僵尸进程的产生原因和避免方法
- 僵尸进程的产生原因和避免方法
- 僵尸进程的产生和避免,如何kill杀掉linux系统中的僵尸defunct进程
- 僵尸进程的产生与避免
- 如何避免产生僵尸进程
- linux下僵尸进程(Defunct进程)的产生与避免
- 僵尸进程是如何产生的?怎样避免僵尸进程的产生
- 僵尸进程是如何产生的?怎样避免僵尸进程的产生
- 僵尸进程是如何产生的?怎样避免僵尸进程的产生
- 僵尸进程是如何产生的?怎样避免僵尸进程的产生
- linux僵尸进程产生的原因以及如何避免产生僵尸进程
- linux僵尸进程产生的原因以及如何避免产生僵尸进程
- 2007年最后一天测试文章
- Caper - 2007
- 写在2008年前
- 用HH.EXE打开时,却显示"不能打开mk@msitstore:XXXXXX
- 一个游戏地图系统的实现设想
- 僵尸进程的产生和避免
- dwr.xml详解
- HELLO 2008
- wss4j和axis2实现WS-Security
- Java EE 5:强大的功能、高生产率和低复杂性
- seam学习笔记
- 封杀webshell提升权限
- Compile Boswar -- An open source RTS Game
- 祝福不需要借口