ABCDEFGHIJKLMNOPQRSTUVWXYZ

prctl

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 <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 of  the
              current  process  to  arg2  (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().

       PR_GET_PDEATHSIG
              (since Linux 2.3.15) Read the current value of the  parent  pro-
              cess death signal 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  whose  default  behaviour is to produce a core dump.  (Nor-
              mally 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).
              arg2  must  be either 0 (process is not dumapable) 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  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, -1 is returned, and
       errno is set appropriately.

ERRORS
       EINVAL The value of option is not recognized, or it is PR_SET_PDEATHSIG
              and arg2 is not zero or a signal number.

CONFORMING TO
       This call is Linux-specific.  IRIX has a prctl system call (also intro-
       duced  in  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 the  maxi-
       mum stack size, etc., etc.

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

SEE ALSO
       signal(2)



Linux 2.4.18                      2002-06-27                          PRCTL(2)