System.Daemon

MissingH-1.4.0.1: Large utility library

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

System.Daemon

Description

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.

Synopsis

- detachDaemon :: IO ()

# Documentation

detachDaemon :: IO ()

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).