NAME
prctl - operations on a process
SYNOPSIS
#include <sys/prctl.h>
int prctl(int option, unsigned long arg2, unsigned long arg3
, unsigned long arg4, unsigned long arg5);
DESCRIPTION
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.
RETURN VALUE
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.
ERRORS
- EINVAL
-
The value of
option
is not recognized, or it is
PR_SET_PDEATHSIG
and
arg2
is not zero or a signal number.
CONFORMING TO
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.
AVAILABILITY
The prctl() systemcall was introduced in Linux 2.1.57.
There is no prctl() library call as yet.
SEE ALSO
signal(2)
Index
- NAME
-
- SYNOPSIS
-
- DESCRIPTION
-
- RETURN VALUE
-
- ERRORS
-
- CONFORMING TO
-
- AVAILABILITY
-
- SEE ALSO
-