#############
python-daemon
#############

Library to implement a well-behaved Unix daemon process
#######################################################

This library implements the well-behaved daemon specification of
:pep:`3143`, “Standard daemon process library”.

A well-behaved Unix daemon process is tricky to get right, but the
required steps are much the same for every daemon program. A
`DaemonContext` instance holds the behaviour and configured process
environment for the program; use the instance as a context manager to
enter a daemon state.

Simple example of usage::

    import daemon

    from spam import do_main_program

    with daemon.DaemonContext():
        do_main_program()

Customisation of the steps to become a daemon is available by setting
options on the `DaemonContext` instance; see the documentation for
that class for each option.


Copying
=======

This work, ‘python-daemon’, is free software: you may copy, modify,
and/or distribute this work under certain conditions; see the relevant
files for specific grant of license. No warranty expressed or implied.

* Parts of this work are licensed to you under the terms of the GNU
  General Public License as published by the Free Software Foundation;
  version 3 of that license or any later version.
  See the file ‘LICENSE.GPL-3’ for details.

* Parts of this work are licensed to you under the terms of the Apache
  License, version 2.0 as published by the Apache Software Foundation.
  See the file ‘LICENSE.ASF-2’ for details.


..
    This document is written using `reStructuredText`_ markup, and can
    be rendered with `Docutils`_ to other formats.

    ..  _Docutils: https://docutils.sourceforge.io/
    ..  _reStructuredText: https://docutils.sourceforge.io/rst.html

..
    This is free software: you may copy, modify, and/or distribute this work
    under the terms of the Apache License version 2.0 as published by the
    Apache Software Foundation.
    No warranty expressed or implied. See the file ‘LICENSE.ASF-2’ for details.

..
    Local variables:
    coding: utf-8
    mode: rst
    mode: text
    End:
    vim: fileencoding=utf-8 filetype=rst :
