focal (9) pget.9freebsd.gz

Provided by: freebsd-manpages_12.0-1_all bug

NAME

     pget — locate a process by number

SYNOPSIS

     #include <sys/param.h>
     #include <sys/proc.h>

     int
     pget(pid_t pid, int flags, struct proc **pp);

DESCRIPTION

     This function takes a pid as its argument, which can be either a process or thread id, and fills a pointer
     to the proc structure in *pp.  In the latter case, a process owning the specified thread is looked for.
     The operation is performed by invoking the pfind(9) function.  The found process is returned locked.  For
     the PGET_HOLD case, it is returned unlocked (but held).  The pget() function can perform additional
     manipulations, depending on a flags argument.

     The flags argument is the logical OR of some subset of:

     PGET_HOLD       If set, the found process will be held and unlocked.

     PGET_CANSEE     If set, the found process will be checked for its visibility.  See p_cansee(9).

     PGET_CANDEBUG   If set, the found process will be checked for its debuggability.  See p_candebug(9).

     PGET_ISCURRENT  If set, the found process will be checked that it matches the current process context.

     PGET_NOTWEXIT   If set, the found process will be checked that it does not have the process flag P_WEXIT
                     set.

     PGET_NOTINEXEC  If set, the found process will be checked that it does not have the process flag P_INEXEC
                     set.

     PGET_NOTID      If set, pid is not assumed as a thread id for values larger than PID_MAX.

     PGET_WANTREAD   If set, the found process will be checked that the caller may get a read access to its
                     structure.  A shorthand for (PGET_HOLD | PGET_CANDEBUG | PGET_NOTWEXIT).

RETURN VALUES

     If the process is found in the specified way, then zero is returned, otherwise an appropriate error code is
     returned.

SEE ALSO

     p_candebug(9), p_cansee(9), pfind(9)