* Jürg Billeter: > This introduces a new thread group flag that can be set by calling > > prctl(PR_SET_KILL_DESCENDANTS_ON_EXIT, 1, 0, 0, 0) > > When a thread group exits with this flag set, it will send SIGKILL to > all descendant processes. This can be used to prevent stray child > processes. > > This flag is cleared on privilege gaining execve(2) to ensure an > unprivileged process cannot get a privileged process to send SIGKILL. So this is inherited across regular execve? I'm not sure that's a good idea. > Descendants that are orphaned and reparented to an ancestor of the > current process before the current process exits, will not be killed. > PR_SET_CHILD_SUBREAPER can be used to contain orphaned processes. For double- or triple-forking daemons, the reparenting will be racy, if I understand things correctly. Thanks, Florian