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)



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  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:

       PR_SET_PDEATHSIG
              (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().

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

       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 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
              dumpable).

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

       PR_SET_KEEPCAPS
              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).

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

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(8,n), -1 is returned, and
       errno is set(7,n,1 builtins) appropriately.

ERRORS
       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.

CONFORMING TO
       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
       prototype

       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.

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

SEE ALSO
       signal(2,7)(2)



Linux 2.4.18                      2002-06-27                          PRCTL(2)

References for this manual (incoming links)