Linux Prozess bei Prozessabsturz umgehen wieder starten lassen
Guten Tag zusammen,
ich stelle mir folgende Frage:
Ist es möglich, einen Prozess oder ein Script, das unter/in Linux (Debian 7) läuft bei einem Absturz des Prozesses/Scripts umgehend wieder starten zu lassen?
D.h.: Ich starte das Script -> Das Script läuft einige Stunden/Tage -> Script stürzt ab -> UND nun soll es automatisch wieder starten.
Ist dies möglich, wenn ja, wo wäre da der beste Ansatz? Ich habe nichts wirklich zu im Kopf, deswegen dachte ich mir hohle ich mir hier mal ein paar Denkanstöße.
ich stelle mir folgende Frage:
Ist es möglich, einen Prozess oder ein Script, das unter/in Linux (Debian 7) läuft bei einem Absturz des Prozesses/Scripts umgehend wieder starten zu lassen?
D.h.: Ich starte das Script -> Das Script läuft einige Stunden/Tage -> Script stürzt ab -> UND nun soll es automatisch wieder starten.
Ist dies möglich, wenn ja, wo wäre da der beste Ansatz? Ich habe nichts wirklich zu im Kopf, deswegen dachte ich mir hohle ich mir hier mal ein paar Denkanstöße.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 226655
Url: https://administrator.de/contentid/226655
Ausgedruckt am: 25.11.2024 um 20:11 Uhr
6 Kommentare
Neuester Kommentar
Hallo,
Wäre es nicht sinnvoller den Grund des Absturzes abzustellen?
Gruß,
Peter
Wäre es nicht sinnvoller den Grund des Absturzes abzustellen?
Ist dies möglich, wenn ja, wo wäre da der beste Ansatz?
Prozesse regelmäßig auslesen, schauen ob der gewünschte Przess noch läuft, wenn nicht diesen dann erneut starten. Achtung das kostet natürlich aus Systemresourcen.Gruß,
Peter
Hallo,
Was aber doch abhängih ist wie und wann und wie oft du eben....
Dem einen reichen es alle 60 Sekunden, den anderen alle 60 Minuten und manche brauchen es alle100 milli Sekunden in Realzeit.
Gruß,
Peter
Was aber doch abhängih ist wie und wann und wie oft du eben....
Dem einen reichen es alle 60 Sekunden, den anderen alle 60 Minuten und manche brauchen es alle100 milli Sekunden in Realzeit.
"anpingen" würde
Von Pingen habe ich nicht gesprochen. Vielleicht reicht es ja schon alle 15 Minuten mal ein TOP zu machen und da durchzuforsten.Desweiteren bekommt er ja auch immer wieder eine andere PID
Sollte so sein ausser du hast wahnsinniges Glückwo bzw. wie würde denn geprüft werden, ob der Prozess noch läuft?
z.B. mit einem "ps" oder gar ein "man ps" = http://unixhelp.ed.ac.uk/CGI/man-cgi?psGruß,
Peter
http://blog.eracc.com/2010/05/08/linux-monitor-a-service-with-a-watchdo ...
Ist schon seit Jahrzehnten usus, das auf ähnliche Art zu machen.
lks
nachtrag: Irgendwie funktioniert der Link plötzlich nicht mehr, aber es gibt ja noch den google cache.
Nachtrag zum nachtrag:
hier das skript aus dem obigen Link, damit es der Nachwelt erhalten bleibt, wenn die Originalseite nicht mehr erreichbar sein sollte:
Ist schon seit Jahrzehnten usus, das auf ähnliche Art zu machen.
lks
nachtrag: Irgendwie funktioniert der Link plötzlich nicht mehr, aber es gibt ja noch den google cache.
Nachtrag zum nachtrag:
hier das skript aus dem obigen Link, damit es der Nachwelt erhalten bleibt, wenn die Originalseite nicht mehr erreichbar sein sollte:
#!/bin/bash
#
# watchdog
#
# Run as a cron job to keep an eye on what_to_monitor which should always
# be running. Restart what_to_monitor and send notification as needed.
#
# This needs to be run as root or a user that can start system services.
#
# Revisions: 0.1 (20100506), 0.2 (20100507)
NAME=what_to_monitor
START=/full/path/to/$NAME
NOTIFY=person1email
NOTIFYCC=person2email
GREP=/bin/grep
PS=/bin/ps
NOP=/bin/true
DATE=/bin/date
MAIL=/bin/mail
RM=/bin/rm
$PS -ef|$GREP -v grep|$GREP $NAME >/dev/null 2>&1
case "$?" in
0)
# It is running in this case so we do nothing.
$NOP
;;
1)
echo "$NAME is NOT RUNNING. Starting $NAME and sending notices."
$START 2>&1 >/dev/null &
NOTICE=/tmp/watchdog.txt
echo "$NAME was not running and was started on `$DATE`" > $NOTICE
$MAIL -n -s "watchdog notice" -c $NOTIFYCC $NOTIFY < $NOTICE
$RM -f $NOTICE
;;
esac
exit