PR_SET_PDEATHSIG - set the parent-death signal of the calling process
Contents
Caveats
The "parent" in this case is considered to be the thread that created this process. In other words, the
signal will be sent when that thread terminates (via, for example, pthread_exit(3)), rather than after
all of the threads in the parent process terminate.
Description
Set the parent-death signal of the calling process to sig (either a signal value in the range [1,
NSIG-1], or 0 to clear). This is the signal that the calling process will get when its parent dies.
The parent-death signal is sent upon subsequent termination of the parent thread and also upon
termination of each subreaper process (see PR_SET_CHILD_SUBREAPER(2const)) to which the caller is
subsequently reparented. If the parent thread and all ancestor subreapers have already terminated by the
time of the PR_SET_PDEATHSIG operation, then no parent-death signal is sent to the caller.
The parent-death signal is process-directed (see signal(7)) and, if the child installs a handler using
the sigaction(2) SA_SIGINFO flag, the si_pid field of the siginfo_t argument of the handler contains the
PID of the terminating parent process.
The parent-death signal setting is cleared for the child of a fork(2). It is also (since Linux 2.4.36 /
2.6.23) cleared when executing a set-user-ID or set-group-ID binary, or a binary that has associated
capabilities (see capabilities(7)); otherwise, this value is preserved across execve(2). The parent-
death signal setting is also cleared upon changes to any of the following thread credentials: effective
user ID, effective group ID, filesystem user ID, or filesystem group ID.
Errors
EINVALsig is not a valid signal number.
History
Linux 2.1.57.
Library
Standard C library (libc, -lc)
Name
PR_SET_PDEATHSIG - set the parent-death signal of the calling process
Return Value
On success, 0 is returned. On error, -1 is returned, and errno is set to indicate the error.
See Also
prctl(2), PR_GET_PDEATHSIG(2const)
Linux man-pages 6.9.1 2024-06-02 PR_SET_PDEATHSIG(2const)
Standards
Linux.
Synopsis
#include<linux/prctl.h> /* Definition of PR_* constants */
#include<sys/prctl.h>intprctl(PR_SET_PDEATHSIG,longsig);
