Skip to main content
Help us improve Python packaging – donate today!

Lightweight and no-nonsense POSIX daemon library for Python (2.x.x/3.x.x)

Project Description

Daemonator (0.4.1.1) Formerly Daemon-Python
==================

Lightweight and no-nonsense POSIX daemon library. Extensible, complete
with process forking and
`PID <http://en.wikipedia.org/wiki/Process_identifier>`__ management.

Inspired by `Sander
Marechal <http://www.jejik.com/articles/2007/02/a_simple_unix_linux_daemon_in_python/>`__.

License
-------

MIT/X11 - See
`LICENSE <https://github.com/stackd/daemon-py/blob/master/LICENSE>`__

Getting Started
---------------

**Installation**

::

# git clone https://github.com/flaviocpontes/daemonator.git
# cd daemon-py/
# python setup.py install

1. **Instantiation**

::

import daemon
class MyDaemon(daemon.Daemon):
"""Subclass Daemon-Python."""
...
def run(self):
"""Define what to daemonize by implementing the run() method."""
...

2. **Implementing control**

Finally, we want to be able to control our daemon.

::

...
if __name__ == "__main__":
daemon = MyDaemon('/tmp/mydaemon.pid') #Define a pidfile location (typically located in /tmp or /var/run)
if len(sys.argv) == 2:
if 'start' == sys.argv[1]:
daemon.start()
elif 'stop' == sys.argv[1]:
daemon.stop()
elif 'restart' == sys.argv[1]:
daemon.restart()
elif 'status' == sys.argv[1]:
daemon.status()
else:
sys.stdout.write("Unknown command\n")
sys.exit(2)
sys.exit(0)
else:
sys.stdout.write("Usage: %s start|stop|restart|status\n" % sys.argv[0])
sys.exit(2)

Release history Release notifications

This version
History Node

0.4.1.1

History Node

0.4.1

History Node

0.4

History Node

0.3.3

History Node

0.3.2

History Node

0.3.1

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
daemonator-0.4.1.1.tar.gz (3.7 kB) Copy SHA256 hash SHA256 Source None Oct 23, 2015

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page