getpid : HasIO io => io PidT Returns the process ID of the current process
Totality: total
Visibility: exportgetppid : HasIO io => io PidT Returns the process ID of the current process' parent process
Totality: total
Visibility: exportgetuid : HasIO io => io UidT Returns the real user ID of the current process
Totality: total
Visibility: exportgeteuid : HasIO io => io UidT Returns the effective user ID of the current process
Totality: total
Visibility: exportgetgid : HasIO io => io GidT Returns the real group ID of the current process
Totality: total
Visibility: exportgetegid : HasIO io => io GidT Returns the effective group ID of the current process
Totality: total
Visibility: exportsetuid : Has Errno es => EIO1 f => UidT -> f es () Tries to set the real user ID of the current process
Totality: total
Visibility: exportseteuid : Has Errno es => EIO1 f => UidT -> f es () Tries to set the effective user ID of the current process
Totality: total
Visibility: exportsetgid : Has Errno es => EIO1 f => GidT -> f es () Tries to set the real group ID of the current process
Totality: total
Visibility: exportsetegid : Has Errno es => EIO1 f => GidT -> f es () Tries to set the effective group ID of the current process
Totality: total
Visibility: exportfork : Has Errno es => EIO1 f => f es PidT Creates a new child process.
This creates a new process by copying the stack, head, and
data memory segment of the parent process. If successful,
the functions returns `0` for the child process and
the child's process ID for the parent.
Totality: total
Visibility: exportexecve : Has Errno es => EIO1 f => String -> CArrayIO m (Maybe String) -> CArrayIO n (Maybe String) -> f es () Loads a new program into this process's memory.
`path` : The path of the program to run
`args` : Command-line arguments (a `NULL` terminated array of strings)
`env ` : Environment (a `NULL` terminated array of strings of the for "a=b")
This only returns in case of an error.
Totality: total
Visibility: exportexecle : Has Errno es => EIO1 f => String -> List String -> List (String, String) -> f es () Convenience alias of `execve` that uses Idris lists for passing
the arguments list and environment.
Totality: total
Visibility: exportexecv : Has Errno es => EIO1 f => String -> CArrayIO m (Maybe String) -> f es () Like `execve` but uses the environment of the current process.
Totality: total
Visibility: exportexecvp : Has Errno es => EIO1 f => String -> CArrayIO m (Maybe String) -> f es () Like `execv` but allows us to just use a filename
and resolve in using the `$PATH` variable.
Totality: total
Visibility: exportexeclp : Has Errno es => EIO1 f => String -> List String -> f es () Convenience alias for `execvp` that uses an Idris list for
the list of arguments.
Totality: total
Visibility: exportsystem : Has Errno es => EIO1 f => String -> f es ProcStatus Runs the given shell command in a child process.
This has a slightly different type signature that the actual
`system` call in C, which allows us to use the same mechanism
as with `wait` to get the returned exit status.
Totality: total
Visibility: exportwait : Has Errno es => EIO1 f => f es (PidT, ProcStatus) Waits for one of the child processes of this process to
terminate.
On success, this returns the process ID of the child process
that terminated plus its termination status.
Totality: total
Visibility: exportwaitpid : Has Errno es => EIO1 f => PidT -> WaitFlags -> f es (PidT, ProcStatus) Waits for the given child processes of to terminate.
Unlike `wait`, this allows us to wait on a specific child process.
In addition, it is possible to be notified about child processes that have
been terminated by a signal.
Totality: total
Visibility: exportwaitid : Has Errno es => EIO1 f => IdType -> PidT -> WaitFlags -> f es Siginfo More powerful version of `waitpid` supporting additional flags and
waiting on groups of children. Wait results are stored in a `Siginfo`
record.
Totality: total
Visibility: export