SimpleDaemon /

Filename Size Date modified Message
26 B
Update to tox for better cross-version testing.
1.2 KB
Add description of 1.4.1 to CHANGES.txt
1.1 KB
Package it up
88 B
Include package data by including
1.6 KB
Change README suffix.
1.5 KB
Merge in Kevin Brey's argparse PR. PEP8 cleanups. Tox passes. Version bump. Fixes #3 and #4, thanks Kevin Brey and juno!
199 B
Update to tox for better cross-version testing.


A fork of Shane Hathaway's script.


  • 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


pip install simpledaemon


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.

import simpledaemon
import logging
import time

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

    def run(self):
        while True:
  'The daemon says hello')

if __name__ == '__main__':


pidfile = ./
logfile = ./hellodaemon.log
loglevel = info


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

./ --start

Stopping is similar:

./ --stop

For a full list of options, see the help:

./ --help


If you come across any bugs in simpledaemon. Kindly file an issue at:

Pull requests are also welcome.