| |
include("http://www.linux-faqs.com/body.left.inc") ?>

|
|
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 calling process to arg2 (either a signal
value in the range 1..maxsig, or 0 to clear). This is
the signal that the calling process will get when its
parent dies. This value is cleared upon a fork(2).
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.3.20) 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). Between kernels 2.6.13 and
2.6.17, the value 2 was also permitted, which caused
any binary which normally would not be dumped to be
dumped readable by root only; for security reasons,
this feature has been removed. (See also the
description of /proc/sys/fs/suid_dumpable in
proc(5).)
PR_GET_DUMPABLE
-
(Since Linux 2.3.20) Return (as the function result)
the current state of the calling process's dumpable
flag.
PR_SET_KEEPCAPS
-
(Since Linux 2.2.18) 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 the process's 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
-
(Since Linux 2.2.18) Return (as the function result)
the current state of the calling process's "keep
capabilities" flag.
PR_SET_TIMING
-
(Since Linux 2.6.0-test4) Set whether to use
(normal, traditional) statistical process timing or
accurate timestamp based process timing, by passing
PR_TIMING_STATISTICAL or
PR_TIMING_TIMESTAMP to
arg2.
PR_GET_TIMING
-
(Since Linux 2.6.0-test4) Return (as the function
result) which process timing method is currently in
use.
PR_SET_NAME
-
(Since Linux 2.6.9) Set the process name for the
calling process to arg2.
PR_GET_NAME
-
(Since Linux 2.6.11) Get the process name for the
calling process from arg2.
PR_GET_ENDIAN
-
(Since Linux 2.6.18, PowerPC only) Return the
endian-ness of the calling process.
PR_SET_ENDIAN
-
(Since Linux 2.6.18, PowerPC only) Set the
endian-ness of the calling process to the value given
in arg2, which
should be one of the following: PR_ENDIAN_BIG, PR_ENDIAN_LITTLE, or PR_ENDIAN_PPC_LITTLE (PowerPC pseudo
little endian).
PR_SET_UNALIGN
-
(Since Linux 2.3.48, only on parisc and ia64) Set
unaligned access control bits to arg2. Pass PR_UNALIGN_NOPRINT to silently fix up
unaligned user accesses, or PR_UNALIGN_SIGBUS to generate SIGBUS
on unaligned user access.
PR_GET_UNALIGN
-
(Since Linux 2.3.48, only on parisc and ia64) Get
unaligned access control bits from arg2.
PR_SET_FPEMU
-
(Since Linux 2.4.18, 2.5.9, only on ia64) Set
floating-point emulation control bits to arg2. Pass PR_FPEMU_NOPRINT to silently emulate
fp operations accesses, or PR_FPEMU_SIGFPE to not emulate fp
operations and send SIGFPE instead.
PR_GET_FPEMU
-
(Since Linux 2.4.18, 2.5.9, only on ia64) Get
floating-point emulation control bits from arg2.
PR_SET_FPEXC
-
(Since Linux 2.4.21, 2.5.32, only on PowerPC) Set
floating-point exception mode to arg2. Pass PR_FP_EXC_SW_ENABLE to use FPEXC for
FP exception enables, PR_FP_EXC_DIV for floating point
divide by zero, PR_FP_EXC_OVF for floating point
overflow, PR_FP_EXC_UND
for floating point underflow, PR_FP_EXC_RES for floating point
inexact result, PR_FP_EXC_INV for floating point
invalid operation, PR_FP_EXC_DISABLED for FP exceptions
disabled, PR_FP_EXC_NONRECOV for async
non-recoverable exception mode, PR_FP_EXC_ASYNC for async recoverable
exception mode, PR_FP_EXC_PRECISE for precise
exception mode.
PR_GET_FPEXC
-
(Since Linux 2.4.21, 2.5.32, only on PowerPC) Get
floating-point exception mode from arg2.
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.
VERSIONS
The prctl() system call was
introduced in Linux 2.1.57.
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
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.
SEE ALSO
signal(2), core(5)
Copyright (C) 1998 Andries Brouwer (aeb@cwi.nl)
and Copyright (C) 2002 Michael Kerrisk <mtk-manpages@gmx.net>
and Copyright Guillem Jover <guillem@hadrons.org>
Permission is granted to make and distribute verbatim copies of this
manual provided the copyright notice and this permission notice are
preserved on all copies.
Permission is granted to copy and distribute modified versions of this
manual under the conditions for verbatim copying, provided that the
entire resulting derived work is distributed under the terms of a
permission notice identical to this one.
Since the Linux kernel and libraries are constantly changing, this
manual page may be incorrect or out-of-date. The author(s) assume no
responsibility for errors or omissions, or for damages resulting from
the use of the information contained herein. The author(s) may not
have taken the same level of care in the production of this manual,
which is licensed free of charge, as they might when working
professionally.
Formatted or processed versions of this manual, if unaccompanied by
the source, must acknowledge the copyright and authors of this work.
Modified Thu Nov 11 04:19:42 MET 1999, aeb: added PR_GET_PDEATHSIG
Modified 27 Jun 02, Michael Kerrisk
Added PR_SET_DUMPABLE, PR_GET_DUMPABLE,
PR_SET_KEEPCAPS, PR_GET_KEEPCAPS
Modified 2006-08-30 Guillem Jover <guillem@hadrons.org>
Updated Linux versions where the options where introduced.
Added PR_SET_TIMING, PR_GET_TIMING, PR_SET_NAME, PR_GET_NAME,
PR_SET_UNALIGN, PR_GET_UNALIGN, PR_SET_FPEMU, PR_GET_FPEMU,
PR_SET_FPEXC, PR_GET_FPEXC
|
|
|
include("http://www.linux-faqs.com/body.right.inc") ?>

|
|