2016-04-06 6 views
0

Eine ähnliche Frage wurde bereits gestellt here, aber meine Frage ist sehr spezifisch: Ich habe keine PID, sondern eine PID Datei. Gibt es eine sauberere Möglichkeit, dies zu tun, als die Datei selbst zu lesen? Vorzugsweise ohne ein zusätzliches Modul zu installieren.Python: Signal zur Verarbeitung über PID-Datei senden

Um ein XY-Problem zu vermeiden, was ich wirklich tun möchte, ist dies in Python: pkill -HUP rsyslogd. Ich frage, weil ich an os.kill(pid_file, signal.SIGHUP) dachte, aber wenn es eine andere Idee für das macht, was ich will, ist das mehr als willkommen.

Antwort

1

Die PID-Datei enthält nur die PID? Das sollte funktionieren:

pid = int(open(PID_FILE).read()) 
+0

Danke, dass ich weiß. Ich wollte sehen, ob es einen besseren Weg gibt (mit anderen Worten, eine eingebaute Funktion, die das erledigt und sich um alles kümmert, was während einer Dateioperation schief gehen kann, möglicherweise um zum Beispiel Wiederholungsversuche zu machen, da dies ziemlich häufig vorkommt Szenario). Was Sie geschrieben haben, schlägt fehl, wenn die Dateioperation fehlschlägt und Sie die Versuche selbst behandeln müssen. – OmarOthman