module Sys.Process(
module CmdSpec
, module CreateProcess
, module StdStream
, createProcess
, createProcess_
, shell
, proc
, Process.callProcess
, Process.callCommand
, Process.spawnProcess
, Process.spawnCommand
, readCreateProcess
, Process.readProcess
, readCreateProcessWithExitCode
, readProcessWithExitCode
, Process.showCommandForUser
, waitForProcess
, getProcessExitCode
, Process.terminateProcess
, Process.interruptProcessGroupOf
, Process.createPipe
) where
import Control.Category(Category((.)))
import Control.Lens((#), (%~), (^.), _1)
import Data.Functor(Functor(fmap))
import Data.Maybe(Maybe)
import Data.String(String)
import Sys.CmdSpec as CmdSpec
import Sys.CreateProcess as CreateProcess
import Sys.StdStream as StdStream
import Sys.ExitCode(ExitCode, unExitCode)
import System.FilePath(FilePath)
import System.IO(Handle, IO)
import qualified System.Process as Process
import Prelude()
createProcess ::
CreateProcess
-> IO (Maybe Handle, Maybe Handle, Maybe Handle, Process.ProcessHandle)
createProcess =
Process.createProcess . (_CreateProcess #)
createProcess_ ::
String
-> CreateProcess
-> IO (Maybe Handle, Maybe Handle, Maybe Handle, Process.ProcessHandle)
createProcess_ s =
Process.createProcess_ s . (_CreateProcess #)
shell ::
String
-> CreateProcess
shell s =
Process.shell s ^. _CreateProcess
proc ::
FilePath
-> [String]
-> CreateProcess
proc p s =
Process.proc p s ^. _CreateProcess
readCreateProcess ::
CreateProcess
-> String
-> IO String
readCreateProcess =
Process.readCreateProcess . (_CreateProcess #)
readCreateProcessWithExitCode ::
CreateProcess
-> String
-> IO (ExitCode, String, String)
readCreateProcessWithExitCode p =
fmap (_1 %~ unExitCode) . Process.readCreateProcessWithExitCode (_CreateProcess # p)
readProcessWithExitCode ::
FilePath
-> [String]
-> String
-> IO (ExitCode, String, String)
readProcessWithExitCode f a =
fmap (_1 %~ unExitCode) . Process.readProcessWithExitCode f a
waitForProcess ::
Process.ProcessHandle
-> IO ExitCode
waitForProcess =
fmap unExitCode . Process.waitForProcess
getProcessExitCode ::
Process.ProcessHandle
-> IO (Maybe ExitCode)
getProcessExitCode =
fmap (fmap unExitCode) . Process.getProcessExitCode