if; wenn Programm nicht läuft, starte es; via Cronjob

S

seekhwencer

Hallo,

ich möchte gern via Cronjob überprüfen, ob ein Programm läuft. Wenn nicht, soll es gestartet werden.

Es ist der Shoutcast-Transcoder, der gerne mal abschmiert - warum auch immer... Darum soll ein Cronjob jede Minute nachschauen und bei Bedarf handeln.

Nur habe ich keine Ahnung, wie ich das anstellen kann.

Hat jemand einen Tipp?
 
Hallo,

Wenn ein programm "abschmiert" gibt es auch ein Fehlerlog.
Den solltest du zuerst durchsuchen und den Fehler beseitigen.

Für deine Frage zum "Autostart" siehe diesen Link hier.
Lies ihn und (wichtig) verstehe ihn.
Der Post #11 von Wolfgang ist dann das was du brauchst.

Gruß Lumpi
 
Naja, sowas laesst sich schon ueber eine Art Watchdog-Skript loesen. Das Skript muss ja nur mit
Code:
ps x | awk '{print $5}' | grep "programmname"
nachschauen ob das Programm laeuft und es gegebenenfalls neu starten.
 
Hallo,

warum das Rad neu erfinden? Guck Dir am besten mal den Punkt respawn der Man-Page von inittab an. Aber wie Lumpi bereits schrieb ist das Sympthombekämpfung und keine Ursachenforschung. :oldman
 
bei uns schmiert auch ständig der nscd ab. um dem erstmal eine übergangslösung zu geben, ist so ein script ziemlich hilfreich. Wir haben eins geschrieben, was prüft ob es läuft und halt gegebenfalls neu startet. wenns aus war, schickt es dann auch noch ne mail.

Beispiel am NSCD
Code:
ps aux |grep [n]scd
if [ $? != 0 ] ; then
  /etc/init.d/nscd restart
fi


und dann das script halt in der crontab aufrufen.
 

Ähnliche Themen

systemd service mit Bash Script und Subshell in einer tmux Umgebung

MacBook Pro hat Benutzer-Konten vergessen

Squid als RPCoHTTPS Proxy für Outlook Anywhere

Fehler bei der Abfrage, ob ein Programm läuft

Von Windows aus Programme auf anderem Ubuntu-Rechner starten

Zurück
Oben