[Haskell] Capturing output from System.system

David House dmhouse at gmail.com
Tue Jan 16 17:34:30 EST 2007

Sorry Mads for multiple copies.

On 16/01/07, Mads Lindstrøm <mads_lindstroem at yahoo.dk> wrote:
> The function System.system (:: String -> IO ExitCode) makes the OS
> execute it first parameter as a command. It prints its output to
> standard output and standard error.
> How do I easily capture this output?

Try System.Process.runInteractiveCommand:

import System.Process
import System.IO

main = do
  (inH, outH, errH, _) <- runInteractiveCommand "wc -w"
  hPutStr inH "foo bar baz"
  ws <- hGetContents outH
  putStrLn ws

-- Prints 3

-David House, dmhouse at gmail.com

More information about the Haskell mailing list