[Haskell] Re: Capturing output from System.system
Ferenc Wagner
wferi at niif.hu
Wed Jan 17 04:13:22 EST 2007
"David House" <dmhouse at gmail.com> writes:
> 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
Beware, deadlocks ahead. See:
http://www.haskell.org/pipermail/libraries/2006-December/006635.html
http://www.haskell.org/pipermail/haskell-cafe/2006-December/020528.html
--
Feri.
More information about the Haskell
mailing list