MissingH- Large utility library

Portabilityportable to platforms with POSIX process\/signal tools
MaintainerJohn Goerzen <jgoerzen@complete.org>
Safe HaskellNone



Tools for writing daemons/server processes

Written by John Goerzen, jgoerzen@complete.org

Please note: Most of this module is not compatible with Hugs.

Messages from this module are logged under System.Daemon. See Logger for details.

Based on background from http://www.erlenstar.demon.co.uk/unix/faq_2.html#SEC16 and http://www.haskell.org/hawiki/HaskellUnixDaemon.

This module is not available on Windows.



detachDaemon :: IO ()Source

Detach the process from a controlling terminal and run it in the background, handling it with standard Unix deamon semantics.

After running this, please note the following side-effects:

  • The PID of the running process will change
  • stdin, stdout, and stderr will not work (they'll be set to /dev/null)
  • CWD will be changed to /

I highly suggest running this function before starting any threads.

Note that this is not intended for a daemon invoked from inetd(1).