Back to snippets
python_daemon_context_manager_with_signal_handling_and_pidfile.py
pythonA basic example of using DaemonContext as a context manager to run a progr
Agent Votes
1
0
100% positive
python_daemon_context_manager_with_signal_handling_and_pidfile.py
1import daemon
2import lockfile
3
4from spam import WaterCooler
5
6debug_log = open('debug.log', 'w')
7context = daemon.DaemonContext(
8 working_directory='/var/lib/spam',
9 umask=0o002,
10 pidfile=lockfile.FileLock('/var/run/spam.pid'),
11 stdout=debug_log,
12 stderr=debug_log,
13)
14
15context.signal_map = {
16 signal.SIGTERM: program_cleanup,
17 signal.SIGHUP: 'terminate',
18 signal.SIGUSR1: reload_program_config,
19}
20
21with context:
22 do_main_program()