在运行时更改 child 进程的终止信号
Change child process' termination signal at runtime
使用 clone()
分叉一个进程,您可以指定一个 child 进程应该在死亡时发送其 parent 而不是 "normal" SIGCHLD
的信号。
是否可以在创建child后更改设置的终止信号?通过 child 或 parent?
我(快速)扫描了 Linux' 的来源以查找分配给 struct task_struct
的成员 exit_signal
的信息。这似乎只发生在 reparenting 的情况下,在这种情况下,如果设置的信号是正常的,就会有更多的检查,例如init won't receive a SIGKILL.
这意味着无法在运行时更改信号,很可能是出于安全考虑。
使用 clone()
分叉一个进程,您可以指定一个 child 进程应该在死亡时发送其 parent 而不是 "normal" SIGCHLD
的信号。
是否可以在创建child后更改设置的终止信号?通过 child 或 parent?
我(快速)扫描了 Linux' 的来源以查找分配给 struct task_struct
的成员 exit_signal
的信息。这似乎只发生在 reparenting 的情况下,在这种情况下,如果设置的信号是正常的,就会有更多的检查,例如init won't receive a SIGKILL.
这意味着无法在运行时更改信号,很可能是出于安全考虑。