dwww Home | Manual pages | Find package

prctl(2)                      System Calls Manual                      prctl(2)

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  fur-
       ther  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

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 sys-
              tem.

       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_CAPB-
       SET_DROP(2const),    PR_SET_CHILD_SUBREAPER(2const),   PR_GET_CHILD_SUB-
       REAPER(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_KEEP-
       CAPS(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_PDEATH-
       SIG(2const),      PR_GET_PDEATHSIG(2const),      PR_SET_PTRACER(2const),
       PR_SET_SECCOMP(2const),        PR_GET_SECCOMP(2const),        PR_SET_SE-
       CUREBITS(2const),       PR_GET_SECUREBITS(2const),       PR_SET_SPECULA-
       TION_CTRL(2const),                      PR_GET_SPECULATION_CTRL(2const),
       PR_SVE_SET_VL(2const),  PR_SVE_GET_VL(2const),  PR_SET_SYSCALL_USER_DIS-
       PATCH(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_TIMER-
       SLACK(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), core(5)

Linux man-pages 6.9.1              2024-06-01                          prctl(2)

Generated by dwww version 1.16 on Tue Dec 16 04:25:48 CET 2025.