Python double-fork und Zombie-Prozesse [python2.7] <defunct>
Verfasst: Dienstag 16. Oktober 2012, 08:36
Hi Leute,
bin gerade dabei eine Art Prozess-Manager in Python zu schreiben.
Dieser soll ähnlich zu "runit" Ordner auf eine ausführbare Datei "run" überprüfen, starten und falls sie wieder beendet wird erneut starten.
Die Ordnerüberwachung mache ich mit pyinotify - funzt auch soweit ganz gut.
Zum Forken habe ich gelesen, dass man double-fork benutzen sollte, damit man keine Zombie-Prozesse aufgrund des SIGCHILD usw. bekommt. Ich möchte die ausführbare Datei vom eigentlichen Prozess trennen, damit nicht alle Childs beendet werden, wenn der Eltern-Prozess beendet wird. Quasi genau das, was "nohup" macht.
Tjia, hab genau das probiert und bekomme aber eben doch die Zombies.
Kennt sich da jemand aus und hat ein paar Tips für mich?
Ein Beispiel, wie ich forke gibt es hier:
http://pastebin.com/nCqaLJZ1
Besten Dank!
bin gerade dabei eine Art Prozess-Manager in Python zu schreiben.
Dieser soll ähnlich zu "runit" Ordner auf eine ausführbare Datei "run" überprüfen, starten und falls sie wieder beendet wird erneut starten.
Die Ordnerüberwachung mache ich mit pyinotify - funzt auch soweit ganz gut.
Zum Forken habe ich gelesen, dass man double-fork benutzen sollte, damit man keine Zombie-Prozesse aufgrund des SIGCHILD usw. bekommt. Ich möchte die ausführbare Datei vom eigentlichen Prozess trennen, damit nicht alle Childs beendet werden, wenn der Eltern-Prozess beendet wird. Quasi genau das, was "nohup" macht.
Tjia, hab genau das probiert und bekomme aber eben doch die Zombies.
Kennt sich da jemand aus und hat ein paar Tips für mich?
Ein Beispiel, wie ich forke gibt es hier:
http://pastebin.com/nCqaLJZ1
Besten Dank!