Skip to main content

Provides a simple Daemon class to ease the process of forking a python application on Unix systems.

Project description

A fork of Shane Hathaway’s daemon.py script.

Features

  • reads the command line

  • reads a configuration file

  • configures logging

  • calls root-level setup code

  • drops privileges

  • calls user-level setup code

  • detaches from the controlling terminal

  • checks and writes a pidfile

Installation

::

pip install simpledaemon

Example

Writing a daemon requires creating two files, a daemon file which simply enters an infinite loop and does whatever you want it to do, and a configuration file with the same name which tells simpledaemon how to setup your daemon.

hellodaemon.py:

import simpledaemon
import logging
import time

class HelloDaemon(simpledaemon.Daemon):
    default_conf = '/etc/hellodaemon.conf'
    section = 'hello'

    def run(self):
        while True:
            logging.info('The daemon says hello')
            time.sleep(1)

if __name__ == '__main__':
    HelloDaemon().main()

hellodaemon.conf:

[hello]
pidfile = ./hellodaemon.pid
logfile = ./hellodaemon.log
loglevel = info

Usage

To use your new daemon, execute your script like so:

./hello.py --start

Stopping is similar:

./hello.py --stop

For a full list of options, see the help:

./hello.py --help

Bugs

If you come across any bugs in simpledaemon. Kindly file an issue at: https://bitbucket.org/donspaulding/simpledaemon/issues/new

Pull requests are also welcome.

Project details


Download files

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

Source Distribution

SimpleDaemon-1.3.0.tar.gz (7.1 kB view details)

Uploaded Source

File details

Details for the file SimpleDaemon-1.3.0.tar.gz.

File metadata

File hashes

Hashes for SimpleDaemon-1.3.0.tar.gz
Algorithm Hash digest
SHA256 bb1f3a5baacbfc770227f6837b01d8dcd0454e90f75c385f6a1b7b74fa80e64c
MD5 dbb5e71f745d01efaf305ab0663d9b9b
BLAKE2b-256 d3020860504de21058537d13213d9058dc6cb33c06f90bd43cabd606ab47c7a8

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page