Provided by: manpages-dev_2.17-1_all bug

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
       values  defined  in  <linux/prctl.h>),  and  further  parameters with a
       significance 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
              process 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
              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-user-ID or set-group-ID program is executed
              and also by various system calls that  manipulate  process  UIDs
              and  GIDs).  In kernels up to and including 2.6.12, arg2 must be
              either 0 (process is not dumpable) or 1 (process  is  dumpable).
              Since  kernel 2.6.13, the value 2 is also permitted; this causes
              any binary which normally would  not  be  dumped  to  be  dumped
              readable   by   root   only.    (See  also  the  description  of
              /proc/sys/fs/suid_dumpable in proc(5).)

       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
              capability  sets  are  cleared  when  a  change  is  made to the
              process’s user IDs such that the process’s real  UID,  effective
              UID, and saved set-user-ID all 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
       introduced  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
       maximum stack size, etc.

AVAILABILITY

       The prctl() system call was introduced in Linux 2.1.57.

SEE ALSO

       signal(2)