Sortix volatile manual
This manual documents Sortix volatile, a development build that has not been officially released. You can instead view this document in the latest official manual.
SETINIT(2) | System Calls Manual | SETINIT(2) |
NAME
setinit
— become
and locate init
SYNOPSIS
#include
<unistd.h>
pid_t
getinit
(pid_t
pid);
pid_t
setinit
(void);
DESCRIPTION
setinit
()
sets the current process as the init process for itself and its subsequently
created descendant processes. setinit
() runs
setsid(2) to create a new
session (and process group) and can fail for the same reasons as
setsid(2).
getinit
()
returns the init process for the process specified in
pid, or the current process if
pid is zero.
Orphaned descendant processes are reparented to their init
process. If an init process exits, all descendant processes atomically
receive the SIGKILL
signal and become unable to
create new processes and threads.
RETURN VALUES
setinit
() returns the pid of the init
process (the current process) on success, or -1 on error and
error is set appropriately.
getinit
() returns the returns the pid of
the init process, or -1 on error and error is set
appropriately.
ERRORS
setinit
() will fail if:
EPERM
- The process is already a process group leader, a session leader, or an init process.
getinit
() will fail if:
ESRCH
- The process specified in pid does not exist.
SEE ALSO
getpgrp(2), getsid(2), psctl(2), setpgrp(2), setsid(2), init(8)
HISTORY
The getinit
() and
setinit
() system calls originally appeared in Sortix
1.1.
June 18, 2024 | Sortix 1.1.0-dev |