haskell System.Process.createProcess重定向stdout和stderr

Bil*_*ain 3 unix io haskell

如何使用createProcessin 将std_in和std_err重定向到文件System.Process

Dan*_*ner 8

使用类型的std_instd_err字段CreateProcess:

foo cmd fin ferr =
    withFile fin  ReadMode  $ \hin  ->
    withFile ferr WriteMode $ \herr -> do
        (_, _, _, ph) <- createProcess (proc cmd [])
            { std_in  = UseHandle hin
            , std_err = UseHandle herr
            }
        waitForProcess ph
Run Code Online (Sandbox Code Playgroud)