我尝试在 Windows 的 cmd.exe 中运行以下 Haskell 程序,而 waitForProcess 正在执行,按 ctrl-c 不会杀死程序。但如果在 MinGW shell 下运行,它就可以工作。有任何想法吗?(注意:Windows 没有“睡眠”命令,我自己写了一个。)
{-# Language OverloadedStrings #-}
import System.Process
main ∷ IO ()
main = do
putStrLn "sleeping"
(_, _, _, pHandle) <-
createProcess CreateProcess {
cmdspec = RawCommand "sleep" ["5"]
, cwd = Nothing
, env = Nothing
, std_in = CreatePipe, std_out = CreatePipe, std_err = CreatePipe
, close_fds = False
, create_group = False
}
waitForProcess pHandle
putStrLn "all done"