我正在尝试为xmonad创建一个弹出菜单程序,我正在试图弄清楚如何从字符串中生成一个命令,然后在不停止或等待子进程的情况下退出。 我已经使用(使用xmonad代码作为模板):
spawnPID x = forkProcess $ executeFile "/bin/sh" False ["-c", encodeString x] Nothing
在这一点上,我只是不确定要做什么来解除这个子进程与它的父进程的关联。或者,如果我需要使用其他方法来启动此过程。
答案 0 :(得分:1)
事实证明,这看起来像我需要的那样起作用。我能够运行外部程序,并在主程序退出后继续运行。 适用来源:
spawnPID :: String -> IO ProcessID
spawnPID x = forkProcess $ executeFile "/bin/sh" False ["-c", encodeString x] Nothing
spawn :: String -> IO ()
spawn x = spawnPID x >> return ()