Idris2Doc : System.Posix.Process

System.Posix.Process

(source)

Reexports

import public Data.C.Ptr
import public System.Posix.Errno
import public System.Posix.Process.Flags
import public System.Posix.Process.ProcStatus

Definitions

getpid : HasIO io => io PidT
  Returns the process ID of the current process

Totality: total
Visibility: export
getppid : HasIO io => io PidT
  Returns the process ID of the current process' parent process

Totality: total
Visibility: export
getuid : HasIO io => io UidT
  Returns the real user ID of the current process

Totality: total
Visibility: export
geteuid : HasIO io => io UidT
  Returns the effective user ID of the current process

Totality: total
Visibility: export
getgid : HasIO io => io GidT
  Returns the real group ID of the current process

Totality: total
Visibility: export
getegid : HasIO io => io GidT
  Returns the effective group ID of the current process

Totality: total
Visibility: export
setuid : Has Errno es => EIO1 f => UidT -> f es ()
  Tries to set the real user ID of the current process

Totality: total
Visibility: export
seteuid : Has Errno es => EIO1 f => UidT -> f es ()
  Tries to set the effective user ID of the current process

Totality: total
Visibility: export
setgid : Has Errno es => EIO1 f => GidT -> f es ()
  Tries to set the real group ID of the current process

Totality: total
Visibility: export
setegid : Has Errno es => EIO1 f => GidT -> f es ()
  Tries to set the effective group ID of the current process

Totality: total
Visibility: export
fork : 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: export
execve : 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: export
execle : 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: export
execv : 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: export
execvp : 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: export
execlp : 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: export
system : 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: export
wait : 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: export
waitpid : 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: export
waitid : 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