SimpleDaemon /

Filename Size Date modified Message
simpledaemon
49 B
1.0 KB
78 B
1.0 KB
1009 B

SimpleDaemon

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

Example

Writing a daemon requires creating two files, a daemon file and a configuration file with the same name.

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]
uid =
gid =
pidfile = ./hellodaemon.pid
logfile = ./hellodaemon.log
loglevel = info
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.