Unix for Beginners
Unix Shell Programming
Advanced Unix
Unix Useful References
Unix Useful Resources
Selected Reading
Copyright © 2014 by tutorialspoint
|
prctl() - Unix, Linux System Call
Advertisements
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:
Tag | Description |
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-user-ID or set-group-ID program is executed and also by
various system calls that manipulate process UIDs and GIDs).
In kernels up to and including 2.6.12,
arg2 must be either 0 (process is not dumpable) or 1 (process is dumpable).
Since kernel 2.6.13, the value 2 is also permitted;
this causes any binary which normally would not be dumped
to be dumped readable by root only.
(See also the description of
/proc/sys/fs/suid_dumpable in
proc(5).)
|
PR_GET_DUMPABLE | |
(Since Linux 2.4)
Return (as the function result) the current state of the calling
processs dumpable flag.
|
PR_SET_KEEPCAPS | |
Set the state of the processs "keep capabilities" flag,
which determines whether the processs effective and permitted
capability sets are cleared when a change is made to the processs user IDs
such that the processs real UID, effective UID, and saved set-user-ID
all 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 processs
"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
Tag | Description |
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.
AVAILABILITY
The
prctl() system call was introduced in Linux 2.1.57.
SEE ALSO
Advertisements
|
|
|
To Continue Learning Please Login
Login with Google