今天遇到mplayer kill不掉的情况,查了一下资料和朋友的帮助下,也是kill不掉
通常有两种情况是不能kill掉的:
一是进程已经成为僵死进程,当它的父进程将它回收或将它的父进程kill掉即可在ps输出看不到了;
二是进程正处在内核状态中,Linux进程运行时分内核和用户两种状态,当进程进入内核状态后,会屏蔽所有信号,包括SIGKIL,所以这个时候kill -9也变得无效了。
看看是不是僵死进程(使用“ps”命令返回“defunct”的进程)
如果是的 没有kill掉也很正常,不占用系统资源。
另外:该进程处于"kernel
mode"(核心态)且在等待不可获得的资源。处于核心态的进程忽略所有信号处理,因此对于这些一直处于核心态的进程只能通过重启系统实现。进程在unix/linux中会处于两种状态,即用户态和核心态。只有处于用户态的进程才可以用“kill”命令将其终止。
没想明白用户进程怎么会进入核心态
阅读(12615) | 评论(0) | 转发(0) |