unliftio-0.2.25.1: The MonadUnliftIO typeclass for unlifting monads to IO (batteries included)
Safe HaskellSafe-Inferred
LanguageHaskell2010

UnliftIO.Process

Description

Unlifted System.Process.

Since: 0.2.5.0

Synopsis

Running sub-processes

data CreateProcess #

Constructors

CreateProcess 

Fields

Instances

Instances details
Show CreateProcess 
Instance details

Defined in System.Process.Common

Methods

showsPrec :: Int -> CreateProcess -> ShowS

show :: CreateProcess -> String

showList :: [CreateProcess] -> ShowS

Eq CreateProcess 
Instance details

Defined in System.Process.Common

data CmdSpec #

Constructors

ShellCommand String 
RawCommand FilePath [String] 

Instances

Instances details
IsString CmdSpec 
Instance details

Defined in System.Process.Common

Methods

fromString :: String -> CmdSpec

Show CmdSpec 
Instance details

Defined in System.Process.Common

Methods

showsPrec :: Int -> CmdSpec -> ShowS

show :: CmdSpec -> String

showList :: [CmdSpec] -> ShowS

Eq CmdSpec 
Instance details

Defined in System.Process.Common

Methods

(==) :: CmdSpec -> CmdSpec -> Bool

(/=) :: CmdSpec -> CmdSpec -> Bool

data StdStream #

Instances

Instances details
Show StdStream 
Instance details

Defined in System.Process.Common

Methods

showsPrec :: Int -> StdStream -> ShowS

show :: StdStream -> String

showList :: [StdStream] -> ShowS

Eq StdStream 
Instance details

Defined in System.Process.Common

Methods

(==) :: StdStream -> StdStream -> Bool

(/=) :: StdStream -> StdStream -> Bool

createProcess :: MonadIO m => CreateProcess -> m (Maybe Handle, Maybe Handle, Maybe Handle, ProcessHandle) Source #

Lifted createProcess.

Since: 0.2.5.0

createProcess_ :: MonadIO m => String -> CreateProcess -> m (Maybe Handle, Maybe Handle, Maybe Handle, ProcessHandle) Source #

Lifted createProcess_.

Since: 0.2.5.0

shell :: String -> CreateProcess #

proc :: FilePath -> [String] -> CreateProcess #

Simpler functions for common tasks

callProcess :: MonadIO m => FilePath -> [String] -> m () Source #

Lifted callProcess.

Since: 0.2.5.0

callCommand :: MonadIO m => String -> m () Source #

Lifted callCommand.

Since: 0.2.5.0

spawnProcess :: MonadIO m => FilePath -> [String] -> m ProcessHandle Source #

Lifted spawnProcess.

Since: 0.2.5.0

spawnCommand :: MonadIO m => String -> m ProcessHandle Source #

Lifted spawnCommand.

Since: 0.2.5.0

readCreateProcess :: MonadIO m => CreateProcess -> String -> m String Source #

Lifted readCreateProcess.

Since: 0.2.5.0

readProcess :: MonadIO m => FilePath -> [String] -> String -> m String Source #

Lifted readProcess.

Since: 0.2.5.0

readCreateProcessWithExitCode :: MonadIO m => CreateProcess -> String -> m (ExitCode, String, String) Source #

Lifted readCreateProcessWithExitCode.

Since: 0.2.5.0

readProcessWithExitCode :: MonadIO m => FilePath -> [String] -> String -> m (ExitCode, String, String) Source #

Lifted readProcessWithExitCode.

Since: 0.2.5.0

withCreateProcess :: MonadUnliftIO m => CreateProcess -> (Maybe Handle -> Maybe Handle -> Maybe Handle -> ProcessHandle -> m a) -> m a Source #

Unlifted withCreateProcess.

Since: 0.2.5.0

Related utilities

showCommandForUser :: FilePath -> [String] -> String #

Process completion

waitForProcess :: MonadIO m => ProcessHandle -> m ExitCode Source #

Lifted waitForProcess.

Since: 0.2.5.0

getProcessExitCode :: MonadIO m => ProcessHandle -> m (Maybe ExitCode) Source #

Lifted getProcessExitCode.

Since: 0.2.5.0

terminateProcess :: MonadIO m => ProcessHandle -> m () Source #

Lifted terminateProcess.

Since: 0.2.5.0

Interprocess communication

createPipe :: MonadIO m => m (Handle, Handle) Source #

Lifted createPipe.

Since: 0.2.5.0

createPipeFd :: MonadIO m => m (FD, FD) Source #

Lifted createPipeFd.

Since: 0.2.5.0