
Ich verwende Capistrano, um einen Python-Dienst bereitzustellen. Ich habe versucht, den Dienst zu starten und eine PID-Datei zu schreiben, damit ich den Dienst später neu starten oder stoppen kann. Das Problem ist, dass die PID-Datei immer eine Prozess-ID zurückliegt, und ich bin mir nicht sicher, warum. Wenn die PID-Datei beispielsweise 123 anzeigt, ist der tatsächlich ausgeführte Prozess 124. Soll ich manuell eine hinzufügen? Oder schreibe ich den Befehl falsch? Ich schreibe den Pseudobefehl hier:
nohup python ./service.py special_argument --config /some_folder/devel.yml --log logs/service.log > /dev/null 2>&1& echo $! > /some_folder/pids/special_argument.pidfile
Antwort1
Dies wurde umgangen, indem das Python-Skript seine eigene PID-Datei schreiben musste.