红联Linux门户
Linux帮助

Linux进程KILL不掉的原因

发布时间:2008-04-14 10:13:48来源:红联作者:Seyonb
做过Linux开发的人通常遇到过一个进程不能kill掉的情况,即使使用的是kill -9方式,而一般的教课书都只说kill -9能杀死任何进程,遇到这种情况时就会感觉到很矛盾,其它这也是正常的,通常有两种情况是不能kill掉的:

一是进程已经成为僵死进程,当它的父进程将它回收或将它的父进程kill掉即可在ps输出看不到了;

二是进程正处在内核状态中,Linux进程运行时分内核和用户两种状态,当进程进入内核状态后,会屏蔽所有信号,包括SIGKIL,所以这个时候kill -9也变得无效了。
文章评论

共有 11 条评论

  1. wl0123abc 于 2010-06-02 22:40:52发表:

    曾经遇到过,没有深入研究!

  2. shenhao0129 于 2010-06-02 18:06:46发表:

    杀死父进程滞后,init进程会接替子进程成为新的父进程

  3. wst021 于 2010-06-02 11:44:13发表:

    我还没遇到这种情况,在使用kill -9时,全部都有杀掉。

  4. frankr 于 2010-06-02 10:09:55发表:

    除了僵死,还有别的情况不起作用吗?

  5. shawnbing 于 2010-05-22 20:01:52发表:

    有时的确不起用啊

  6. hflovehp 于 2010-05-20 10:03:24发表:

    这个问题有待探讨

  7. zhangjianxun75 于 2010-05-19 21:16:34发表:

    是不是可以这样说,杀死父进程后,子进程自动消失?
    kill只能杀死用户进程?

  8. blue7590 于 2010-05-19 15:48:08发表:

    学习了

  9. cikee 于 2010-04-07 18:03:31发表:

    刚刚用 了kill -9

  10. stillriver 于 2008-04-14 19:58:51发表:

    楼主有相关资料吗?

  11. qtsmy 于 2008-04-14 16:57:09发表:

    注销一下