我一直在使用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