【发布时间】:2012-01-18 03:00:24
【问题描述】:
kill 到底是做什么的?
我有一个父进程一个接一个地创建 100 个(例如)子进程。在任何孩子的工作结束时,我用kill(pid_of_child, SIGKILL) 杀死孩子,而我在ps 输出中看不到它。但是,如果父进程出现问题并且我使用exit(1) 退出父进程(此时只有1 个孩子-我可以在ps 中检查),那时我会看到很多@987654327 @ 其ppid 是父进程的pid 的进程。
这怎么可能? kill 没有完全杀死子进程吗?
【问题讨论】:
-
@ChrisO:内核永远不会收割僵尸。只有
init会收割僵尸,而且只有自己的孩子会收割僵尸。 -
@Dietrich Epp,感谢您的更正。
标签: c process freebsd kill defunct