from small one page howto to huge articles all in one place
Last additions:
May 25th. 2007:
April, 26th. 2006:
|
You are here: manpages
prctl
Section: System Calls (2) Updated: 2026-02-08 Index
Return to Main Contents
NAME
prctl
-
operations on a process or thread
LIBRARY
Standard C library
( libc,~ -lc)
SYNOPSIS
#include <linux/prctl.h> /* Definition of PR_* constants */
#include <sys/prctl.h>
int prctl(int op, ...);
DESCRIPTION
prctl()
manipulates various aspects of the behavior
of the calling thread or process.
prctl()
is called with a first argument describing what to do,
and further arguments
with a significance depending on the first one.
The first argument can be:
- PR_CAP_AMBIENT
-
PR_CAPBSET_READ
PR_CAPBSET_DROP
PR_SET_CHILD_SUBREAPER
PR_GET_CHILD_SUBREAPER
PR_SET_DUMPABLE
PR_GET_DUMPABLE
PR_SET_ENDIAN
PR_GET_ENDIAN
PR_SET_FP_MODE
PR_GET_FP_MODE
PR_SET_FPEMU
PR_GET_FPEMU
PR_SET_FPEXC
PR_GET_FPEXC
PR_SET_IO_FLUSHER
PR_GET_IO_FLUSHER
PR_SET_KEEPCAPS
PR_GET_KEEPCAPS
PR_MCE_KILL
PR_MCE_KILL_GET
PR_SET_MM
PR_SET_VMA
PR_MPX_ENABLE_MANAGEMENT
PR_MPX_DISABLE_MANAGEMENT
PR_SET_NAME
PR_GET_NAME
PR_SET_NO_NEW_PRIVS
PR_GET_NO_NEW_PRIVS
PR_PAC_RESET_KEYS
PR_SET_PDEATHSIG
PR_GET_PDEATHSIG
PR_SET_PTRACER
PR_SET_SECCOMP
PR_GET_SECCOMP
PR_SET_SECUREBITS
PR_GET_SECUREBITS
PR_GET_SPECULATION_CTRL
PR_SET_SPECULATION_CTRL
PR_SVE_SET_VL
PR_SVE_GET_VL
PR_SET_SYSCALL_USER_DISPATCH
PR_SET_TAGGED_ADDR_CTRL
PR_GET_TAGGED_ADDR_CTRL
PR_TASK_PERF_EVENTS_DISABLE
PR_TASK_PERF_EVENTS_ENABLE
PR_SET_THP_DISABLE
PR_GET_THP_DISABLE
PR_GET_TID_ADDRESS
PR_SET_TIMERSLACK
PR_GET_TIMERSLACK
PR_SET_TIMING
PR_GET_TIMING
PR_SET_TSC
PR_GET_TSC
PR_SET_UNALIGN
PR_GET_UNALIGN
PR_GET_AUXV
PR_SET_MDWE
PR_GET_MDWE
PR_RISCV_SET_ICACHE_FLUSH_CTX
PR_FUTEX_HASH
RETURN VALUE
On success,
a nonnegative value is returned.
On error, -1 is returned, and
errno
is set to indicate the error.
ERRORS
- EINVAL
-
The value of
op
is not recognized,
or not supported on this system.
- EINVAL
-
An unused argument is nonzero.
VERSIONS
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 op, int arg2, int arg3);
and operations 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, and so on.
STANDARDS
Linux.
HISTORY
Linux 2.1.57,
glibc 2.0.6
CAVEATS
The prototype of the libc wrapper uses a variadic argument list.
This makes it necessary to pass the arguments with the right width.
When passing numeric constants, such as 0,
use a suffix:
0L.
Careless use of some
prctl()
operations can confuse the user-space run-time environment,
so these operations should be used with care.
SEE ALSO
signal(2),
PR_CAP_AMBIENT(2const),
PR_CAPBSET_READ(2const),
PR_CAPBSET_DROP(2const),
PR_SET_CHILD_SUBREAPER(2const),
PR_GET_CHILD_SUBREAPER(2const),
PR_SET_DUMPABLE(2const),
PR_GET_DUMPABLE(2const),
PR_SET_ENDIAN(2const),
PR_GET_ENDIAN(2const),
PR_SET_FP_MODE(2const),
PR_GET_FP_MODE(2const),
PR_SET_FPEMU(2const),
PR_GET_FPEMU(2const),
PR_SET_FPEXC(2const),
PR_GET_FPEXC(2const),
PR_SET_IO_FLUSHER(2const),
PR_GET_IO_FLUSHER(2const),
PR_SET_KEEPCAPS(2const),
PR_GET_KEEPCAPS(2const),
PR_MCE_KILL(2const),
PR_MCE_KILL_GET(2const),
PR_SET_MM(2const),
PR_SET_VMA(2const),
PR_MPX_ENABLE_MANAGEMENT(2const),
PR_MPX_DISABLE_MANAGEMENT(2const),
PR_SET_NAME(2const),
PR_GET_NAME(2const),
PR_SET_NO_NEW_PRIVS(2const),
PR_GET_NO_NEW_PRIVS(2const),
PR_PAC_RESET_KEYS(2const),
PR_SET_PDEATHSIG(2const),
PR_GET_PDEATHSIG(2const),
PR_SET_PTRACER(2const),
PR_SET_SECCOMP(2const),
PR_GET_SECCOMP(2const),
PR_SET_SECUREBITS(2const),
PR_GET_SECUREBITS(2const),
PR_SET_SPECULATION_CTRL(2const),
PR_GET_SPECULATION_CTRL(2const),
PR_SVE_SET_VL(2const),
PR_SVE_GET_VL(2const),
PR_SET_SYSCALL_USER_DISPATCH(2const),
PR_SET_TAGGED_ADDR_CTRL(2const),
PR_GET_TAGGED_ADDR_CTRL(2const),
PR_TASK_PERF_EVENTS_DISABLE(2const),
PR_TASK_PERF_EVENTS_ENABLE(2const),
PR_SET_THP_DISABLE(2const),
PR_GET_THP_DISABLE(2const),
PR_GET_TID_ADDRESS(2const),
PR_SET_TIMERSLACK(2const),
PR_GET_TIMERSLACK(2const),
PR_SET_TIMING(2const),
PR_GET_TIMING(2const),
PR_SET_TSC(2const),
PR_GET_TSC(2const),
PR_SET_UNALIGN(2const),
PR_GET_UNALIGN(2const),
PR_GET_AUXV(2const),
PR_SET_MDWE(2const),
PR_GET_MDWE(2const),
PR_RISCV_SET_ICACHE_FLUSH_CTX(2const),
PR_FUTEX_HASH(2const),
core(5)
Index
- NAME
-
- LIBRARY
-
- SYNOPSIS
-
- DESCRIPTION
-
- RETURN VALUE
-
- ERRORS
-
- VERSIONS
-
- STANDARDS
-
- HISTORY
-
- CAVEATS
-
- SEE ALSO
-
|
|