process- Process libraries

Safe HaskellTrustworthy



Executing an external command.

This module provides a simple interface for executing external commands. For a more complex, but more powerful, interface, see the System.Process module.



system :: String -> IO ExitCodeSource

Computation system cmd returns the exit code produced when the operating system runs the shell 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 passes the command to the Windows command interpreter (CMD.EXE or COMMAND.COM), hence Unixy shell tricks will not work.

rawSystem :: String -> [String] -> IO ExitCodeSource

The computation rawSystem cmd args runs the operating system command cmd in such a way that it receives as arguments the args strings exactly as given, with no funny escaping or shell meta-syntax expansion. It will therefore behave more portably between operating systems than system.

The return codes and possible failures are the same as for system.