linux - 在 fork() 之前阻塞 SIGCHLD 的目的是什么?

标签 linux shell unix kernel fork

我正在阅读几个 shell 实现。让我感到困惑的一件事是,在生成子进程之前阻止 SIGCHLD 并在父进程和子进程中的 fork() 之后立即取消阻止它似乎很常见。

这样做的目的是什么?如果我不屏蔽这个信号会发生什么?

最佳答案

所以基本上,它用于避免父子之间的竞争。这可以确保在父级执行某些操作之前不会收到 sigchld 处理程序。

关于linux - 在 fork() 之前阻塞 SIGCHLD 的目的是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36004343/

相关文章:

c - 如何避免 C 容器服务器的用户定义库程序中出现 "exit"?

linux - 从 arg 3 开始加入 bash 剩余参数

c++ - 配置 : error: no boost. 找到文件系统库

php - Apache:0777 目录的权限被拒绝

android - 蓝牙不开启VM virtual Box

shell - Jenkins:从 shell 脚本设置环境变量

linux - 文件 1 中的列总和与文件 2 中的列总和之间的差异

linux - 使用 shell 脚本打开具有多个选项卡的终端

linux - 替代向上箭头 + Enter 运行上一个命令?

unix - unix 程序中的配置位置