>If you want a normal daemon, you want to look at System.Posix.Process >to create a proper daemon (forkProcess, createSession; don't forget to >close stdOutput (and, errr, Haskell library types: stdin and stderr >are where? not System.Posix.IO with stdOutput) and reopen them on / >dev/null, at least if they're ttys as determined by >System.Posix.Terminal.queryTerminal). You also want to write out a >pidfile (/var/run/programname.pid) for use by startproc / killproc, >and you want to install a handler for sigTERM >(System.Posix.Signals.installHandler) which sets the exit flag (TVar, >MVar, IORef, Chan, take your pick). Ideally you also catch sigHUP and >reload your state.
Thanks for the guide, Brandon !! By the way, I found a piece of code with function (daemonize :: IO () -> IO ()) (http://sneakymustard.com/2008/12/11/haskell-daemons), which is close to the subject. I guess now I'm ready to implement my own daemon! Thanks for your help, everyboby!! =) -- View this message in context: http://www.nabble.com/how-to-implement-daemon-start-and-stop-directives--tp21598690p21647723.html Sent from the Haskell - Haskell-Cafe mailing list archive at Nabble.com. _______________________________________________ Haskell-Cafe mailing list [email protected] http://www.haskell.org/mailman/listinfo/haskell-cafe
