c++ - 当父进程被杀死时,使用 fork() 创建的子进程是否会自动被杀死?

标签 c++ linux process fork parent-child

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


已有的类似问题:

最佳答案

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

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

这里已经讨论了这个问题并提供了高质量的答案: How to make child process die after parent exits?

关于c++ - 当父进程被杀死时,使用 fork() 创建的子进程是否会自动被杀死?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/395877/

相关文章:

c++ - 如何将日期字符串解析为 c++11 std::chrono time_point 或类似的?

c - 从丢失的 TCP 连接中恢复传输

linux - LKM - 无法编译模块 - 缺少头文件但安装了头包

java - 无法为 Java 进程设置 LD_LIBRARY_PATH

c# - 查找包含进程特定文本的窗口

java - 跳过从 PDF 读取的字节

c++ - 在 C++ 中返回一个对象(或结构)

c++ - 在 C++ 中使用枚举进行面向整数位的操作是否可靠/安全?

php - mysql 进程保持事件状态 - 为什么?

c++ - 从 C++ 文件中快速读取特定单词