Archiv verlassen und diese Seite im Standarddesign anzeigen : Script -> Binary neustart
hallo.
ich brauche ein script das eine binary startet und das diese falls sie einmal abstürzen sollte (aus welchen grund auch immer) wieder neu startet.
kann mir da wer helfen?
danke
Was verstehst Du unter "Hilfe"?
Ansonsten: ps -fe, grep -c, while, sleep - wären so die Befehle, die mir dazu einfallen würden...
Veierabend
05.05.08, 13:00
#!/bin/bash
while true ; do
/pfad/zum/programm [Option]
done ;
Wär die simpelste Variante. Irgendwo abspeichern, ausführbar machen und zb über /etc/rc.local aufrufen.
... würde das Programm innerhalb von 1 sec. ca. 200x starten - je nach Performance des Rechners.
Veierabend
05.05.08, 13:03
Nur wenn ein & dahinter stünde oder es sich um nen Daemon handelt. Ansonsten läuft die Schleife erst weiter, wenn das Programm beendet wird.
ok - einigen wir uns darauf: es hängt davon ab, wie sich das Programm nach seinem Start verhält.
Veierabend
05.05.08, 13:13
Jup :)
1234567890
hallo.
ich brauche ein script das eine binary startet und das diese falls sie einmal abstürzen sollte (aus welchen grund auch immer) wieder neu startet.
kann mir da wer helfen?
Ist hierfür nicht ein Eintrag in
/etc/inittab
geeignet?
Gruß Aqualung
... würde das Programm innerhalb von 1 sec. ca. 200x starten - je nach Performance des Rechners.
genau das tu es...
egal ob ein & oder kein & dabei ist.
Dann forkt das gestartete Programm wohl weg.
Versuch mal das Programm mit "programm &" zu starten, dann hast du (AFAIR) mit $! die PID und mit ps kannst du alle paar Sekunden überprüfen, ob der Prozess noch läuft.
#!/bin/bash
while true ; do
/pfad/zum/programm &
while [ "`<ps-Aufruf der nach $! sucht>`" ]; do
sleep 1;
done;
done ;
<ps-Aufruf der nach $! sucht> ist noch entsprechend abzuändern.
Gruß, Florian
EDIT: u.U. ist die PID in $! nicht die richtige, weil das Programm nach dem Starten forkt. Arbeite besser mit pgrep und such nach dem Programmnamen in der inneren while-Schleife.
Ist hierfür nicht ein Eintrag in
/etc/inittab
geeignet?
Das würde ja nur dafür sorgen, daß das Progrämmchen beim Booten gestartet wird - aber nicht dafür, daß es erneut gestartet wird, wenn der Prozess wegstirbt...
Stichwort inittab
Das würde ja nur dafür sorgen, daß das Progrämmchen beim Booten gestartet wird - aber nicht dafür, daß es erneut gestartet wird, wenn der Prozess wegstirbt...
Stimmt nicht, guck Dir inittab mal genau an, vor allem die action respawn.
Oh, Mist - mein Lesen hat bei /etc/init aufgehört - und vermutet, da käme was mit rc.x und so weiter...
/etc/inittab ist natürlich was anderes.
Ich geh' mir gleich noch mal 'nen Kaffee holen - kann ja nicht angehen...
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.