[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Programm wenn es nicht läuft jede halbe Stunde starten



On Thu, May 29, 2008 at 02:26:53PM +0200, Thomas Halinka wrote:
> Am Donnerstag, den 29.05.2008, 14:12 +0200 schrieb Michael Vogt:
> 
> Hi,
> 
> So als Anregung:
> 
> ---------------------------------------------
> #!/bin/bash
> #
> # Script zum checken ob ein Prozessaeuft
> #
> ##################################################
> 
> SERVICE='postfix'
> 
> if top -b -n 1 | grep -v grep | grep $SERVICE > /dev/null
> then
>         exit
> else
>         logger "checkd: Dienst $SERVICE laeuft nicht, wird neu
> gestartet!"
>         /etc/init.d/postfix restart
> fi
> ---------------------------------------------


Moin mitnanner,

ob ein Prozeß läuft, testet 'pidof' mit sehr geringem Aufwand:

'pidof cmd' gibt die Prozeßnummer von 'cmd' zurück; anschließend läßt sich
über die Shellvariable "$?" testen, ob der Aufruf von 'pidof' "erfolgreich"
war, d.h. den angegebenen Prozeß als aktiv erkannt hat.

Ist "$?"   gleich "0", läuft der angegebene Prozeß;
ist "$?" ungleich "0", läuft der angegebene Prozeß nicht.


Z.B. testen, ob 'postfix' läuft:
--------------------------------

pidof postfix >& /dev/null; ok_postfix=$? ## (Prozess Nummer von 'postfix'
                                          ##  interessiert hier nicht)
if [ ${ok_postfix} -eq 0 ]; then
   echo "Prozess 'postfix' laeuft"
else                                      ## [ ${ok_postfix} -ne 0 ]
   echo "Prozess 'postfix' laeuft nicht"
fi


Gruß Wilko

-- 
Wilko Fokken                      "Den Charakter eines Volkes
D-26831 Landschaftspolder 67       erkennt man auch daran,
----------------------------       wie es nach einem verlorenen Krieg
Tel. 04953-382                     mit seinen Toten umgeht."

                                   Charles de Gaulle, 1962


Reply to: