Ich habe python-daemon
installiert und nun versuche ich, die Signalverarbeitung richtig zu machen. Mein Code:
Wenn ich den Code starte, funktioniert alles wie erwartet: Der Text pythonDaemon läuft wird alle 5 Sekunden in /var/log/syslog
geschrieben.
Aber wenn ich den Daemon mit kill -TERM *PID*
beenden möchte, wird der Daemon beendet, aber der Text pythonDaemon STOP fehlt in syslog.
Was mache ich falsch?
NB: Ich arbeite nicht mit from daemon import runner
hier, weil das einen Fehler verursacht (sieht so aus, als ob ich eine ältere Version von lockfile
brauche) und ich werde das nicht beheben, außer es ist die einzige Möglichkeit das Signal zu bekommen -Handeln nach rechts.
Ihr Code sieht gut aus, außer dass der Signalhandler nicht aufgerufen wird, weil er die falsche Signatur hat. Mach es so:
%Vor%Zitieren der Dokumente ( signal.signal () ):
Der Handler wird mit zwei Argumenten aufgerufen: der Signalnummer und dem aktuellen Stack-Frame
Tags und Links python linux python-2.7 signal-handling python-daemon