Provided by: freebsd-manpages_10.1~RC1-1_all bug

NAME

       procctl — control processes

LIBRARY

       Standard C Library (libc, -lc)

SYNOPSIS

       #include <sys/procctl.h>

       int
       procctl(idtype_t idtype, id_t id, int cmd, void *arg);

DESCRIPTION

       The  procctl()  system call provides for control over processes.  The idtype and id arguments specify the
       set of processes to control.  If multiple processes match the  identifier,  procctl  will  make  a  “best
       effort”  to  control  as  many  of  the  selected processes as possible.  An error is only returned if no
       selected processes successfully complete the request.  The following identifier types are supported:

       P_PID      Control the process with the process ID id.

       P_PGID     Control processes belonging to the process group with the ID id.

       The control request to perform is specified by the cmd argument.  The following commands are supported:

       PROC_SPROTECT     Set process protection state.  This is used to mark a process as protected  from  being
                         killed  if the system exhausts available memory and swap.  The arg parameter must point
                         to an integer containing an operation and zero or more optional flags.   The  following
                         operations are supported:

                         PPROT_SET       Mark the selected processes as protected.

                         PPROT_CLEAR     Clear the protected state of selected processes.

                         The following optional flags are supported:

                         PPROT_DESCEND   Apply  the  requested operation to all child processes of each selected
                                         process in addition to each selected process.

                         PPROT_INHERIT   When used with PPROT_SET, mark  all  future  child  processes  of  each
                                         selected  process  as protected.  Future child processes will also mark
                                         all of their future child processes.

RETURN VALUES

       If an error occurs, a value of -1 is returned and errno is set to indicate the error.

ERRORS

       The procctl() system call will fail if:

       [EFAULT]           The arg points outside the process's allocated address space.

       [EINVAL]           The cmd argument specifies an unsupported command.

                          The idtype argument specifies an unsupported identifier type.

       [EPERM]            The calling process does not have permission to perform the requested operation on any
                          of the selected processes.

       [ESRCH]            No processes matched the requested idtype and id.

       [EINVAL]           An invalid operation or flag was passed in arg for a PROC_SPROTECT command.

SEE ALSO

       ptrace(2)

HISTORY

       The procctl() function appeared in FreeBSD 10.

Debian                                         September 19, 2013                                     PROCCTL(2)