PREOPEN(3PROC) Process Control Library Functions PREOPEN(3PROC)

Preopen
reopen a process

Process Control Library (libproc, -lproc)

#include <libproc.h>

int
Preopen(struct ps_prochandle *P);

The Preopen() function is used to regain control of the process represented by the handle P. A loss of control is indicated by the Pstatus(3PROC) function returning the value PS_LOST. This may occur when the controlled process performs an exec(2) of a setuid or setgid binary or one where the controlling process cannot read the object file. For more information on this, see the PROGRAMMING NOTES section of proc(5).

If successful, the controlling process will obtain control of the process specified by P. If it fails, the controlling process should release the handle with Prelease(3PROC). Note there are occasions where due to permissions it may not be possible to obtain control again.

Upon successful completion, the Preopen() function returns 0. Otherwise, -1 is returned.

Uncommitted

See LOCKING in libproc(3LIB).

exec(2), libproc(3LIB), Prelease(3PROC), Pstatus(3PROC), proc(5)
May 11, 2016 OmniOS