使用clone()
fork 进程,您可以指定子进程在死亡时应发送其父进程而不是“正常”的信号SIGCHLD
。
创建孩子后是否可以更改设置的终止信号?是孩子还是家长?
我(迅速)扫描了 Linux 的源代码,寻找分配给struct task_struct
's member 的内容exit_signal
。这似乎只发生在重新设置的情况下,在这种情况下,如果设置的信号正常,则需要进行更多检查,例如init 不会收到 SIGKILL。
这意味着信号不能在运行时更改,很可能是出于安全考虑。