做过Linux开发的人通常遇到过一个进程不能kill掉的情况,即使使用的是kill -9方式,而一般的教课书都只说kill -9能杀死任何进程,遇到这种情况时就会感觉到很矛盾,其它这也是正常的,通常有两种情况是不能kill掉的:
一是进程已经成为僵死进程,当它的父进程将它回收或将它的父进程kill掉即可在ps输出看不到了;
二是进程正处在内核状态中,Linux进程运行时分内核和用户两种状态,当进程进入内核状态后,会屏蔽所有信号,包括SIGKIL,所以这个时候kill -9也变得无效了。


wl0123abc 于 2010-06-02 22:40:52发表:
曾经遇到过,没有深入研究!
shenhao0129 于 2010-06-02 18:06:46发表:
杀死父进程滞后,init进程会接替子进程成为新的父进程
wst021 于 2010-06-02 11:44:13发表:
我还没遇到这种情况,在使用kill -9时,全部都有杀掉。
frankr 于 2010-06-02 10:09:55发表:
除了僵死,还有别的情况不起作用吗?
shawnbing 于 2010-05-22 20:01:52发表:
有时的确不起用啊
hflovehp 于 2010-05-20 10:03:24发表:
这个问题有待探讨
zhangjianxun75 于 2010-05-19 21:16:34发表:
是不是可以这样说,杀死父进程后,子进程自动消失?
kill只能杀死用户进程?
blue7590 于 2010-05-19 15:48:08发表:
学习了
cikee 于 2010-04-07 18:03:31发表:
刚刚用 了kill -9
stillriver 于 2008-04-14 19:58:51发表:
楼主有相关资料吗?
qtsmy 于 2008-04-14 16:57:09发表:
注销一下