LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
12
返回列表 发新帖
楼主: kufengt

请问有强行杀掉进程的命令么?

[复制链接]
发表于 2006-2-20 19:14:27 | 显示全部楼层
我说的是即便是 "kill -9" 都 kill 不掉的进程。
回复 支持 反对

使用道具 举报

发表于 2006-2-20 19:26:33 | 显示全部楼层
确实碰到过kill -9也杀不掉的时候,应该是核心还有点BUG
回复 支持 反对

使用道具 举报

发表于 2006-2-21 19:51:27 | 显示全部楼层

  1. // test.c
  2. #include <stdlib.h>
  3. #include <stdio.h>

  4. int main()
  5. {
  6.     if(fork())
  7.     {
  8.         while(1)
  9.             sleep(100);
  10.     }
  11.     exit(0);
  12. }
复制代码

gcc编译后,运行a.out
然后在进程中找[a.out] <defunct>
用kill -9 id号是杀不掉的。
回复 支持 反对

使用道具 举报

发表于 2006-2-21 22:21:29 | 显示全部楼层
Post by co63

  1. // test.c
  2. #include <stdlib.h>
  3. #include <stdio.h>

  4. int main()
  5. {
  6.     if(fork())
  7.     {
  8.         while(1)
  9.             sleep(100);
  10.     }
  11.     exit(0);
  12. }
复制代码

gcc编译后,运行a.out
然后在进程中找[a.out] <defunct>
用kill -9 id号是杀不掉的。
非也,[a.out] <defunct> 是杀不掉,但是./a.out的pid就能杀掉

4025 tty1     S+     0:00 ./a.out
4026 tty1     Z+     0:00 [a.out] <defunct>
4063 tty2     R+     0:00 ps ax

kill -9 4025 是可以杀死它的,同样,用 killall -9 a.out 也能杀掉
回复 支持 反对

使用道具 举报

发表于 2006-2-23 08:52:12 | 显示全部楼层
kill -9 1杀不掉init进程。

假如有这样一种情况:
init生成了一个类似上面的defunct进程,那怎么杀?
回复 支持 反对

使用道具 举报

发表于 2006-2-23 17:32:10 | 显示全部楼层
Post by kufengt
弱弱的问一句:会不会出现类似windows中kill不掉的进程?

kill 是发送不同的信号,有可能会被进程屏蔽掉.但是如果发送KILL(-9)信号,应该是没有问题的
回复 支持 反对

使用道具 举报

发表于 2006-2-23 19:30:48 | 显示全部楼层
Post by co63
kill -9 1杀不掉init进程。

假如有这样一种情况:
init生成了一个类似上面的defunct进程,那怎么杀?
上面的defunct进程也杀不掉,何况是免死的 init 呢?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表