Dieser Beitrag beschreibt, wie ein Kind-Prozess in einem BASH-Skript am Leben zu halten:Wie automatisch ein Python-Skript bei fehlgeschlagenem Neustart?
How do I write a bash script to restart a process if it dies?
Das für den Aufruf einer anderen BASH Skript groß gearbeitet.
Allerdings habe ich versucht, etwas Ausführung ähnlich, wo das Kind Prozess ein Python-Skript ist, daemon.py die einen gegabelten Kindprozess erstellt, der im Hintergrund läuft:
#!/bin/bash
PYTHON=/usr/bin/python2.6
function myprocess {
$PYTHON daemon.py start
}
NOW=$(date +"%b-%d-%y")
until myprocess; do
echo "$NOW Prog crashed. Restarting..." >> error.txt
sleep 1
done
nun das Verhalten ist völlig anders. Es scheint, dass das Python-Skript nicht länger ein Kind des Bash-Skripts ist, sondern die BASH-Skripte PID "übernommen" hat - es gibt also keinen BASH-Wrapper mehr um das aufgerufene Skript ... warum?
Es würde helfen, zu wissen, was in daemon.py ist, aber von dem Namen ich denke, es macht eine "exec" oder was auch immer das Python-Äquivalent ist, sich in den Hintergrund zu stellen. –
. Was ist t? –
bearbeitet, um daemon.py zu beschreiben – chris