• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Script soll script starten sobald es stoppt

Chaoshh

Member
Ich möchte ein script schreiben, welches abfragt ob ein script aktiv ist und wenn nicht, dann soll es sofort neu starten. Am besten wäre es mit einer loop Schleife. Allerdings weiß ich nicht wie.

Code:
#!/bin/bash
#
# Mein Script für start
#

sh /home/username/script.sh

Ist leider alles was ich habe. ;-/
 
OP
C

Chaoshh

Member
Das ist keine Hilfe - wenn man hier keine Hilfe kriegt, dann kann man gleich auf die Registrierung verzichten. Um manpages zu lesen braucht man nicht Mitglied sein. Wenn ich Ahnung von hätte oder die Lösung selbst finden würde, dann hätte ich wohl nciht gefragt. Ich habe eher mit einem Beispiel gerechnet als mit "machs dir selbst". :irre:
 

marce

Guru
ok, was zahlst Du?

Spaß bei Seite - Hilfe zur Selbsthilfe ist das Motto. Ich habe Dir Stichworte gegeben, mit denen Du das problemlos selbst hinbekommst.

Aber ich will ja nicht so sein: Mach eine Abfrage auf das Programm, das überwacht werden soll mit ps und grep - so kannst Du ermitteln, ob ein entsprechender Prozess läuft. Sollte die Anzahl der laufenden Prozesse 0 sein - starte das Programm. Das alles machst Du solange, wie 1 = 1 ist.
 

framp

Moderator
Teammitglied
Den folgenden Code musst Du noch Deinen speziellen Bedürfnissen anpassen, d.h. den Restart des Scripts. Eine weitere Loop ist noch drum rum notwendig da der Check ja immer gemacht werden soll. Du solltest aber per man mal nachsehen was die benutzen shell Befehle so tun.

Code:
#!/bin/bash

# check for a running process
# first parm is process name

if ((! $# )); then
   echo "Missing process name"
   exit
fi

active=0

while ((! active)); do
   o=`ps -eo comm 2>/dev/null | egrep $1`
   if [[ -z $o ]]; then
        echo "$1:NO"
        sleep 5
   else
      echo "$1:YES"
      active=1
   fi
done
PS: Hat mich 5 Minuten gekostet. Der Preis dafür ist, dass Du uns hier Deinen finalen Code postest so dass Du in die Community auch was kostenlos einbringst ;-)
 
Oben