PGET(9)                FreeBSD Kernel Developer's Manual               PGET(9)

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)

FreeBSD 15.1-STABLE-HBSD          May 3, 2014                          PGET(9)