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
args
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
.