diff options
Diffstat (limited to 'man2/prctl.2')
-rw-r--r-- | man2/prctl.2 | 127 |
1 files changed, 127 insertions, 0 deletions
diff --git a/man2/prctl.2 b/man2/prctl.2 new file mode 100644 index 000000000..a22b945e4 --- /dev/null +++ b/man2/prctl.2 @@ -0,0 +1,127 @@ +.\" Hey Emacs! This file is -*- nroff -*- source. +.\" +.\" Copyright (C) 1998 Andries Brouwer (aeb@cwi.nl) +.\" +.\" 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 +.\" +.\" FIXME: The following (applicable only on IA-64) are not currently +.\" described: PR_SET_UNALIGN, PR_GET_UNALIGN, PR_SET_FPEMU, PR_GET_FPEMU +.\" +.TH PRCTL 2 2002-06-27 "Linux 2.4.18" "Linux Programmer's Manual" +.SH NAME +prctl \- operations on a process +.SH SYNOPSIS +.B #include <sys/prctl.h> +.sp +.BI "int prctl(int " option ", unsigned long " arg2 ", unsigned long " arg3 +.BI ", unsigned long " arg4 ", unsigned long " arg5 ); +.SH DESCRIPTION +.B prctl +is called with a first argument describing what to do +(with values defined in <\fIlinux/prctl.h\fP>), and further +parameters with a significance depending on the first one. +The first argument can be: +.TP +.B PR_SET_PDEATHSIG +(since Linux 2.1.57) +Set the parent process death signal +of the current process to \fIarg2\fP (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(). +.TP +.B PR_GET_PDEATHSIG +(since Linux 2.3.15) +Read the current value of the parent process death signal +into the (int *) \fIarg2\fP. +.TP +.B 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). +.I arg2 +must be either 0 (process is not dumpable) or 1 (process is dumpable). +.TP +.B PR_GET_DUMPABLE +(Since Linux 2.4) +Return (as the function result) the current state of the calling +process's dumpable flag. +.TP +.B 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). +.I arg2 +must be either 0 (capabilities are cleared) or 1 (capabilities are kept). +.TP +.B PR_GET_KEEPCAPS +Return (as the function result) the current state of the calling process's +"keep capabilities" flag. +.SH "RETURN VALUE" +.B PR_GET_DUMPABLE +and +.B PR_GET_KEEPCAPS +return 0 or 1 on success. +All other +.I option +values return 0 on success. +On error, \-1 is returned, and +.I errno +is set appropriately. +.SH ERRORS +.TP +.B EINVAL +The value of +.I option +is not recognized, or it is +.B PR_SET_PDEATHSIG +and +.I arg2 +is not zero or a signal number. +.SH "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 +.sp +.BI "ptrdiff_t prctl(int " option ", int " arg2 ", int " arg3 ); +.sp +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. +.SH AVAILABILITY +The prctl() systemcall was introduced in Linux 2.1.57. +There is no prctl() library call as yet. +.SH "SEE ALSO" +.BR signal (2) |