我一直在使用Haskell Warp构建像素服务器,并一直在努力研究如何在守护进程模式下运行它。如何在守护进程模式下运行Warp?
经的伟大工程 - 我可以使用run
从Network.Wai.Handler.Warp从Network.Wai.Handler.WarpTLS服务HTTP,runTLS
服务HTTPS,我可以通过生成一个新的线程同时运行:
startBoth :: Config -> IO()
startBoth config = do
_ <- forkIO $ startHTTPS config
startHTTP config
我的问题是搞清楚如何使用MissingH(System.Daemon)的detachDaemon来让我的服务器脱离并在Ubuntu的后台运行。
在我Main.hs我试着加入detachDaemon
行动,像这样:
main :: IO()
main =
detachDaemon >> cmdArgs options >>= getConfig . optionsConfig >>= start
但随后的程序只是默默的退出没有错误,没有任何东西显示出来,当我运行ps -ef | grep snowhuskyd
。
我应该如何使用detachDaemon
- 甚至可以用Warp?我无法在网上找到一个使用detachDaemon
的例子 - 任何帮助都会得到感谢!
我分享这个观点,我从外面分离我的守护进程。一个快速和肮脏的解决方案是使用start-stop-daemon,如果你的系统上有它。 – 2012-03-30 10:38:07