X-Git-Url: https://git.kaliko.me/?a=blobdiff_plain;f=sima%2Flib%2Fdaemon.py;h=9de08f91fe64f61f7eda87b37ddc41e163afaa32;hb=HEAD;hp=1feb7e42927fa3aeff8998419086a6e9a5b9a7db;hpb=cf5fee72c57cf6b6f09b9caa78ab9e547f1d7542;p=mpd-sima.git diff --git a/sima/lib/daemon.py b/sima/lib/daemon.py index 1feb7e4..9de08f9 100644 --- a/sima/lib/daemon.py +++ b/sima/lib/daemon.py @@ -1,11 +1,10 @@ # -*- coding: utf-8 -*- - # Public Domain # # Copyright 2007, 2009 Sander Marechal # http://www.jejik.com/articles/2007/02/a_simple_unix_linux_daemon_in_python/ # -# Copyright 2010, 2011 Jack Kaliko +# Copyright 2010, 2011 kaliko # https://gitorious.org/python-daemon # # This file is part of MPD_sima @@ -14,20 +13,22 @@ # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. -# +# # MPD_sima is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. -# +# # You should have received a copy of the GNU General Public License -# along with MPD_sima. If not, see . +# along with MPD_sima. If not, see . +# +# pylint: disable=all import atexit import os import sys import time -from signal import signal, SIGTERM +from signal import signal, SIGTERM, SIGHUP, SIGUSR1 class Daemon(object): @@ -62,8 +63,8 @@ class Daemon(object): for details (ISBN 0201563177) Short explanation: - Unix processes belong to "process group" which in turn lies within a "session". - A session can have a controlling tty. + Unix processes belong to "process group" which in turn lies within a + "session". A session can have a controlling tty. Forking twice allows to detach the session from a possible tty. The process lives then within the init process. """ @@ -124,10 +125,16 @@ class Daemon(object): """Declare signal handlers """ signal(SIGTERM, self.exit_handler) + signal(SIGHUP, self.hup_handler) + signal(SIGUSR1, self.hup_handler) def exit_handler(self, signum, frame): sys.exit(1) + def hup_handler(self, signum, frame): + """SIGHUP handler""" + pass + def delpid(self): """Remove PID file""" try: