Copyright | (c) The University of Glasgow 2001 |
---|---|
License | BSD-style (see the file libraries/base/LICENSE) |
Maintainer | libraries@haskell.org |
Stability | provisional |
Portability | portable |
Safe Haskell | Safe |
Language | Haskell2010 |
Deprecated: Use System.Process instead
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.
Documentation
system :: String -> IO ExitCode Source
Computation system cmd
returns the exit code produced when the
operating system runs the shell command cmd
.
This computation may fail with one of the following
IOErrorType
exceptions:
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.
On Unix systems, see waitForProcess
for the meaning of exit codes
when the process died as the result of a signal.
rawSystem :: String -> [String] -> IO ExitCode Source
The computation
runs the operating system command
rawSystem
cmd argscmd
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
.