Originální popis anglicky:
prctl - operations on a process
Návod, kniha: Linux Programmer's Manual
#include <sys/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. The first argument can be:
- PR_SET_PDEATHSIG
- (since Linux 2.1.57) Set 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().
- PR_GET_PDEATHSIG
- (since Linux 2.3.15) Read the current value of the parent
process death signal into the (int *) arg2.
- PR_SET_DUMPABLE
- (Since Linux 2.4) Set the state of the flag determining
whether core dumps are produced for this process upon delivery of a signal
whose default behaviour is to produce a core dump. (Normally this flag is
set for a process by default, but it is cleared when a set-UID or set-GID
program is executed and also by various system calls that manipulate
process UIDs and GIDs). arg2 must be either 0 (process is not
dumpable) or 1 (process is dumpable).
- PR_GET_DUMPABLE
- (Since Linux 2.4) Return (as the function result) the
current state of the calling process's dumpable flag.
- PR_SET_KEEPCAPS
- Set the state of the process's "keep
capabilities" flag, which determines whether the process's effective
and permitted capability sets are cleared when a change is made to the
process's user IDs such that all of the process's real, effective, and
saved set user IDs become non-zero when at least one of them previously
had the value 0. (By default, these credential sets are cleared).
arg2 must be either 0 (capabilities are cleared) or 1 (capabilities
are kept).
- PR_GET_KEEPCAPS
- Return (as the function result) the current state of the
calling process's "keep capabilities" flag.
PR_GET_DUMPABLE and
PR_GET_KEEPCAPS return 0 or 1 on success. All
other
option values return 0 on success. 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 prctl 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 prctl() systemcall was introduced in Linux 2.1.57. There is no prctl()
library call as yet.
signal(2)