我正在使用C/C++中的fork()
创建子进程。
当父进程结束(或由于某些原因被杀死)时,我希望所有子进程也会被杀死。
这是否由系统自动完成?还是需要我自己处理?
类似问题:
我正在使用C/C++中的fork()
创建子进程。
当父进程结束(或由于某些原因被杀死)时,我希望所有子进程也会被杀死。
这是否由系统自动完成?还是需要我自己处理?
类似问题:
不会。如果父进程被杀死,子进程会成为 init 进程的子进程(init 进程的进程 ID 为1,并由内核作为第一个用户进程启动)。
init 进程定期检查新的子进程,并等待它们(从而释放它们返回值分配的资源)。
这个问题已经在这里讨论过了:如何使子进程在父进程退出后终止?