NAME
pget — locate a process by numberSYNOPSIS
#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 thePGET_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)May 3, 2014 | Debian |