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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file SimpleDaemon-1.3.0.tar.gz
.
File metadata
- Download URL: SimpleDaemon-1.3.0.tar.gz
- Upload date:
- Size: 7.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | bb1f3a5baacbfc770227f6837b01d8dcd0454e90f75c385f6a1b7b74fa80e64c |
|
MD5 | dbb5e71f745d01efaf305ab0663d9b9b |
|
BLAKE2b-256 | d3020860504de21058537d13213d9058dc6cb33c06f90bd43cabd606ab47c7a8 |