Copyright | Copyright (C) 2005-2011 John Goerzen |
---|---|
License | BSD3 |
Maintainer | John Goerzen <jgoerzen@complete.org> |
Stability | provisional |
Portability | portable to platforms with POSIX process\/signal tools |
Safe Haskell | None |
Language | Haskell98 |
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 ()
Documentation
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).