我正在阅读几个shell实现。令我困惑的一件事是,在生成子进程之前阻止sigchld并在父进程和子进程中的fork()之后立即解除阻止sigchld似乎非常常见。
这么做的目的是什么?如果我不封锁这个信号会怎么样?

最佳答案

所以基本上,它是用来避免父母和孩子之间的竞争。这可以确保在父进程执行某些操作之前不会收到sigchild处理程序。

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

10-13 09:43