getpid : PrimIO PidTgetppid : PrimIO PidTgetuid : PrimIO UidTgeteuid : PrimIO UidTgetgid : PrimIO GidTgetegid : PrimIO GidTsetuid : UidT -> EPrim () Tries to set the real user ID of the current process
Totality: total
Visibility: exportseteuid : UidT -> EPrim () Tries to set the effective user ID of the current process
Totality: total
Visibility: exportsetgid : GidT -> EPrim () Tries to set the real group ID of the current process
Totality: total
Visibility: exportsetegid : GidT -> EPrim () Tries to set the effective group ID of the current process
Totality: total
Visibility: exportfork : EPrim 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 : String -> CArrayIO m (Maybe String) -> CArrayIO n (Maybe String) -> EPrim () 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 : String -> List String -> List (String, String) -> EPrim () Convenience alias of `execve` that uses Idris lists for passing
the arguments list and environment.
Totality: total
Visibility: exportexecv : String -> CArrayIO m (Maybe String) -> EPrim () Like `execve` but uses the environment of the current process.
Totality: total
Visibility: exportexecvp : String -> CArrayIO m (Maybe String) -> EPrim () Like `execv` but allows us to just use a filename
and resolve in using the `$PATH` variable.
Totality: total
Visibility: exportexeclp : String -> List String -> EPrim () Convenience alias for `execvp` that uses an Idris list for
the list of arguments.
Totality: total
Visibility: exportsystem : String -> EPrim 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_ : IOBox CInt -> EPrim PidT 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. In addition, the termination status of the child
is written into the given pointer.
Totality: total
Visibility: exportwaitpid_ : PidT -> IOBox CInt -> WaitFlags -> EPrim PidT 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_ : IdType -> PidT -> SiginfoT -> WaitFlags -> EPrim () More powerful version of `waitpid` supporting additional flags and
waiting on groups of children. Wait results are stored in the
provided `SiginfoT` pointer.
Totality: total
Visibility: exportwait : EPrim (PidT, ProcStatus) Convenience version of `wait_`.
Totality: total
Visibility: exportwaitpid : PidT -> WaitFlags -> EPrim (PidT, ProcStatus) Convenience version of `waitpid_`.
Totality: total
Visibility: exportwaitid : IdType -> PidT -> WaitFlags -> EPrim Siginfo Convenience version of `waitid_`.
Totality: total
Visibility: export