kill不掉的进程

来源:互联网 发布:烟台程序员招聘信息 编辑:程序博客网 时间:2024/04/27 16:43
通常有两种情况是不能kill掉的:

一是进程已经成为僵死进程,当它的父进程将它回收或将它的父进程kill掉即可在ps输出看不到了;
二是进程正处在内核状态中,Linux进程运行时分内核和用户两种状态,当进程进入内核状态后,会屏蔽所有信号,包括SIGKIL,所以这个时候kill -9也变得无效了。
看看是不是僵死进程(使用“ps”命令返回“defunct”的进程)

如果是的 没有kill掉也很正常,不占用系统资源。

另外:该进程处于"kernel mode"(核心态)且在等待不可获得的资源。处于核心态的进程忽略所有信号处理,因此对于这些一直处于核心态的进程只能通过重启系统实现。进程在unix/linux中会处于两种状态,即用户态和核心态。只有处于用户态的进程才可以用“kill”命令将其终止。