c97f1ef559a710a9cb9751b5cd575c248c6cd7b1
daemonize
daemonize is a library for writing system daemons in Python. It is distributed under MIT license. Latest version can be downloaded from PyPI. Full documentation can be found at ReadTheDocs.
Dependencies
It is tested under following Python versions:
- 2.6
- 2.7
- 3.3
- 3.4
- 3.5
Installation
You can install it from Python Package Index (PyPI):
$ pip install daemonize
Usage
from time import sleep
from daemonize import Daemonize
pid = "/tmp/test.pid"
def main():
while True:
sleep(5)
daemon = Daemonize(app="test_app", pid=pid, action=main)
daemon.start()File descriptors
Daemonize object's constructor understands the optional argument keep_fds which contains a list of FDs which should not be closed. For example:
import logging
from daemonize import Daemonize
pid = "/tmp/test.pid"
logger = logging.getLogger(__name__)
logger.setLevel(logging.DEBUG)
logger.propagate = False
fh = logging.FileHandler("/tmp/test.log", "w")
fh.setLevel(logging.DEBUG)
logger.addHandler(fh)
keep_fds = [fh.stream.fileno()]
def main():
logger.debug("Test")
daemon = Daemonize(app="test_app", pid=pid, action=main, keep_fds=keep_fds)
daemon.start()Description
Languages
Python
99.1%
Makefile
0.9%