
Hobbystern
Wahl-Debianer
Hallo Gemeinde,
ich habe ein "KeepAlive" Skript, dessen ganze Aufgabe es ist ein Programm immer am Leben zu erhalten.
Ich habe nunmehr ein Pidfile mit "touch" angelegt, welches dann existiert, wenn das Skript läuft - so sollte es nie doppelt laufen.
Was passiert eigentlich wenn das Skript abgebrochen wird und keine zeit mehr hat das PID File zu löschen - wie kann ich es geschickt umgehen das es nicht passiert, das das Skript nicht mehr startet weil ein "totes" PIDFile existiert..?
Ich denke da an einen Reset des Rechners (aua) oder sonstwas...
Dank für Eure Hilfe!
Stefan
ich habe ein "KeepAlive" Skript, dessen ganze Aufgabe es ist ein Programm immer am Leben zu erhalten.
Ich habe nunmehr ein Pidfile mit "touch" angelegt, welches dann existiert, wenn das Skript läuft - so sollte es nie doppelt laufen.
Was passiert eigentlich wenn das Skript abgebrochen wird und keine zeit mehr hat das PID File zu löschen - wie kann ich es geschickt umgehen das es nicht passiert, das das Skript nicht mehr startet weil ein "totes" PIDFile existiert..?
Code:
...
SAFE_PID=/var/run/safe_asterisk.pid # Unsere PID
PIDNUTZEN=yes
if [ -e ${SAFE_PID} ]; then
if [ ${PIDNUTZEN} == "yes" };then
# Start verweigern...
echo "${SAFE_PID} EXISTIERT!! Safe_Asterisk wird anscheinend doppelt ausgefuehrt!! START VERWEIGERT!!"
exit 0
else
#Start erlauben
echo "${SAFE_PID} EXISTIERT!! Safe_Asterisk wird anscheinend doppelt ausgefuehrt!! Starte trotzdem...
fi
else
touch ${SAFE_PID}
fi
Ich denke da an einen Reset des Rechners (aua) oder sonstwas...
Dank für Eure Hilfe!
Stefan