type Pid = Int { } #
data ProcessHandle { } #
ProcessHandle { phPid :: Pid, phProgram :: String }
An opaque handle to a running process.
data CmdSpec { } #
ShellCommand String

A shell command

RawCommand FilePath [String]

Program and arguments

Specification of how to start a process.
data StdStream { } #
Inherit

Inherit from parent process

UseHandle Handle

Use provided handle

CreatePipe

Create a pipe

NoStream

Close the stream

How to handle standard streams.
data CreateProcess { } #
CreateProcess { cmdspec :: CmdSpec, cwd :: Maybe FilePath, env :: Maybe [(String, String)], std_in :: StdStream, std_out :: StdStream, std_err :: StdStream, close_fds :: Bool, create_group :: Bool, delegate_ctlc :: Bool, detach_console :: Bool, create_new_console :: Bool, new_session :: Bool, child_group :: Maybe Int, child_user :: Maybe Int, use_process_jobs :: Bool }
shell :: String -> CreateProcess { } #
Create a shell command specification.
proc :: FilePath -> [String] -> CreateProcess { } #
Create a raw command specification.
callProcess :: FilePath -> [String] -> IO () { } #
Call a process and wait for it to complete.
callCommand :: String -> IO () { } #
Call a shell command and wait for it to complete.