Programm in Shell autoamtisch neu starten
-
Gibt es eine Möglichkeit ein Programm in der Shell automatisch neu zu starten wenn es beendet wird oder abgestürzt ist?
-
Hallo,
Das Einfachste ist das Programm über ein shell script zu starten.
Das script startet das Programm,
wenn es sich beendet wartet es etwas
und 'looped' (startet das Programm, ...)Du solltest eine Wartezeit definieren,
um nicht eine busy condition zu erzeugen, die weitere Probleme machen kann.
z.B. 3 [s] Wartezeit, hängt natürlich von der Anwendung ab.'nein' ein fertiges Beispiel script kann ich dir nicht geben ...
Gruß Frank
-
Typischerweise verwendet man für sowas irgendwelche Prozessmonitoring-Tools.
-
Die Tools sehen doch fein aus, werd ich mal austesten.
-
nman schrieb:
Typischerweise verwendet man für sowas irgendwelche Prozessmonitoring-Tools.
typischerweise wäre mein erster gedanke while true; do prog; done
-
DrGreenthumb schrieb:
nman schrieb:
Typischerweise verwendet man für sowas irgendwelche Prozessmonitoring-Tools.
typischerweise wäre mein erster gedanke while true; do prog; done
Wenn der OP wirklich "in der Shell" meint, dann wär eine Schleife vermutlich besser. Diese monitoring-tools sind normalerweise für Daemons gedacht, das heißt Prozesse, deren Zweck gerade ist, nicht in der Shell laufen. Aber vielleicht hat der OP sich nur ungünstig ausgedrückt und sucht eigentlich eine Möglichkeit, einen Daemon zu schreiben.
-
Ich meinte wirklich ein Script in der Shell... und merke gerade, dass es wirklich am einfachsten ist eine Endlosschleife zu benutzen.
Mein erster Gedanke war einfach, dass es durch die while Schleife eine 100%ige CPU Auslstung gibt, was ja aber gar nicht zutrifft, da die Schleife ja sofort inaktiv wird wenn das Programm aufgerufen wird... Oder irre ich mich da?
-
Moh schrieb:
Mein erster Gedanke war einfach, dass es durch die while Schleife eine 100%ige CPU Auslstung gibt, was ja aber gar nicht zutrifft, da die Schleife ja sofort inaktiv wird wenn das Programm aufgerufen wird... Oder irre ich mich da?
Stimmt. Sicherheitshalber würde ich ein sleep in die Schleife einfügen für den Fall, dass das Programm ganz großen Unsinn macht und sich sofort wieder beendet.