GNU/Linux |
RedHat 5.2(Apollo) |
|
![]() |
prctl(2) |
![]() |
prctl − operations on a process
#include <linux/prctl.h>
int prctl(int option, unsigned long arg2, unsigned long arg3 , unsigned long arg4, unsigned long arg5);
prctl is called with a first argument describing what to do (with values defined in <linux/prctl.h>), and further parameters with a significance depending on the first one. At present the only option value defined is PR_SET_PDEATHSIG, and the corresponding call sets the parent process death signal of the current process to arg2 (either a signal value in the range 1..maxsig, or 0 to clear). This is the signal that the current process will get when its parent dies. This value is cleared upon a fork().
On success, zero is returned. On error, −1 is returned, and errno is set appropriately.
EINVAL |
The value of option is not recognized, or it is PR_SET_PDEATHSIG and arg2 is not zero or a signal number. |
This call is Linux-specific. IRIX has a ptctl system call (also introduced in Linux 2.1.44 as irix_prctl on the MIPS architecture), with prototype
ptrdiff_t prctl(int option, int arg2, int arg3);
and options to get the maximum number of processes per user, get the maximum number of processors the calling process can use, find out whether a specified process is currently blocked, get or set the maximum stack size, etc., etc.
The ptctl() systemcall was introduced in Linux 2.1.57. There is no ptctl() library call as yet.
signal(2)
![]() |
prctl(2) | ![]() |