| Haskell Hierarchical Libraries (base package) | Contents | Index

System.Cmd

Portability | portable
Stability | provisional
Maintainer | libraries@haskell.org

Description
Executing an external command.
Synopsis

system :: String -> IO ExitCode
rawSystem :: FilePath -> [String] -> IO ExitCode

Documentation
system :: String -> IO ExitCode

Computation `system cmd` returns the exit code produced when the operating system processes the command `cmd`.

This computation may fail with

- `PermissionDenied`: The process has insufficient privileges to perform the operation.
- `ResourceExhausted`: Insufficient resources are available to perform the operation.
- `UnsupportedOperation`: The implementation does not support system calls.

On Windows, `system` is implemented using Windows's native system call, which ignores the `SHELL` environment variable, and always passes the command to the Windows command interpreter (`CMD.EXE` or `COMMAND.COM`), hence Unixy shell tricks will not work.

rawSystem :: FilePath -> [String] -> IO ExitCode
The same as `system`, but bypasses the shell (GHC only). Will behave more portably between systems, because there is no interpretation of shell metasyntax.
Produced by Haddock version 0.6