Archiv verlassen und diese Seite im Standarddesign anzeigen : script zum program restarten
Hat jemand von euch vielleicht ein script, dass im hintergrund mitläuft und überprüft ob ein bestimmtes programm noch läuft. Läuft es nicht, weil es z.b. abgestürzt ist, startet es das program neu.
Wäre nett wenn jemand der sowas hat hier posten könnte :)
P3AC3MAK3R
09.06.03, 16:35
Hi,
ich habe gerade mal ein wenig rumprobiert, da mich das Problem interessiert hatte. ;)
Das Ergebnis dieser Überlegungen ist das folgende Skript (Dateiname: z. B. test.sh):
anzahl=$(ps ax | grep -i $1 | wc -l)
if [ $anzahl -gt 0 ]; then
echo "Das Programm $1 läuft."
fi
Mit dem Aufruf
test.sh programmname
kann man überprüfen, ob das angegebene Programm läuft.
Ersetzt man nun die echo-Zeile mit dem Aufruf des Programmes und läßt man das Skript per Cronjob aufrufen, so sollte sich das Problem damit eigentlich geklärt haben. :)
Original geschrieben von zg0re
Hat jemand von euch vielleicht ein script, dass im hintergrund mitläuft und überprüft ob ein bestimmtes programm noch läuft. Läuft es nicht, weil es z.b. abgestürzt ist, startet es das program neu.
Wäre nett wenn jemand der sowas hat hier posten könnte :)
trage das programm einfach mit 'respawn' in die inittab ein. init kümmert sich um den rest.
-j
Original geschrieben von P3AC3MAK3R
anzahl=$(ps ax | grep -i $1 | wc -l)
if [ $anzahl -gt 0 ]; then
echo "Das Programm $1 läuft."
fi[/PHP]
warum nicht einfach:
if ps ax | grep -iq $1; then
...
fi
oder noch besser (wenn man die pid hat):
if kill -0 $pid; then
...
fi
-j
Vorsicht, wenn man ps aux |grep Dateiname macht, dieser grep-Aufruf wird u.U. auch mit ausgegeben.
Deswegen lieber ps aux | grep Name | grep -v grep
Also irgendwie klappt das nicht... Ich benutze das zur zeot für lmule (ja lmule ;) ). Wenn es aber schließt dann passier gar nix (wenn ich das von dir nehme, Jasper)
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.