49

我正在用fork()C/C++ 创建子进程。
当父进程结束(或由于某种原因被杀死)时,我希望所有子进程也被杀死。
是系统自动完成的吗?还是我必须自己做?


预先存在的类似问题:

4

1 回答 1

56

不会。如果父进程被杀死,子进程将成为 init 进程的子进程(进程 id 为 1 并由内核作为第一个用户进程启动)。

init 进程定期检查新的子进程,并等待它们(从而释放由它们的返回值分配的资源)。

这个问题已经在这里用高质量的答案进行了讨论: How to make child process die after parent exits?

于 2008-12-28T05:38:08.917 回答