Seth Woolley's Man Viewer

prctl(2) - prctl, prctl - operations on a process - man 2 prctl

([section] manual, -k keyword, -K [section] search, -f whatis)
man plain no title

PRCTL(2)                   Linux Programmer's Manual                  PRCTL(2)

       prctl - operations on a process

       #include <sys/prctl.h>

       int prctl(int option, unsigned long arg2, unsigned long arg3 , unsigned
       long arg4, unsigned long arg5);

       prctl is called with a first argument describing what to do (with  val-
       ues defined in(1,8) <linux/prctl.h>), and further parameters with a signifi-
       cance depending on the first one.  The first argument can be:

              (since Linux 2.1.57) Set the parent process death signal(2,7) of  the
              current  process  to  arg2  (either  a signal(2,7) value in(1,8) the range
              1..maxsig, or 0 to clear(1,3x,3x clrtobot)).  This is the signal(2,7) that the  current
              process  will  get  when  its parent dies. This value is cleared
              upon a fork().

              (since Linux 2.3.15)  Read  the  current  value  of  the  parent
              process death signal(2,7) into the (int *) arg2.

              (Since  Linux 2.4) Set the state of the flag determining whether
              core dumps are produced for this process upon delivery of a sig-
              nal(2,7)  whose  default  behaviour is to produce a core dump.  (Nor-
              mally this flag is set(7,n,1 builtins) 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).
              arg2 must be either 0 (process is not dumpable) or 1 (process is

              (Since Linux 2.4) Return (as the function  result)  the  current
              state of the calling process's dumpable flag.

              Set  the  state of the process's "keep capabilities" flag, which
              determines whether the process's effective and  permitted  capa-
              bility  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(7,n,1 builtins)  user  IDs  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).

              Return (as the function result) the current state of the calling
              process's "keep capabilities" flag.

       PR_GET_DUMPABLE  and  PR_GET_KEEPCAPS  return  0  or 1 on success.  All
       other option values return 0 on success.  On error(8,n), -1 is returned, and
       errno is set(7,n,1 builtins) appropriately.

       EINVAL The value of option is not recognized, or it is PR_SET_PDEATHSIG
              and arg2 is not zero or a signal(2,7) number.

       This call is Linux-specific.  IRIX has a prctl system call (also intro-
       duced  in(1,8)  Linux  2.1.44  as irix_prctl on the MIPS architecture), with

       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(7,n,1 builtins) the  maxi-
       mum stack size, etc., etc.

       The  prctl()  systemcall  was  introduced in(1,8) Linux 2.1.57.  There is no
       prctl() library call as yet.


Linux 2.4.18                      2002-06-27                          PRCTL(2)

References for this manual (incoming links)