Hallo geehrtes Publikum,
um im Shell-Script herauszufinden, ob ein Prozess schon l�uft, wird die
Prozessliste nach dem Namen des Scriptes in $0 gegrepped und das Pattern
"grep" entfernt. Ist die Anzahl der Prozesse gr��er als 1 dann l�uft der
Prozess bereits und das Script muss abgebrochen werden.
Soweit die Theorie.
Dieses Scriptlein ist zum Testen:
== cut ==
#!/bin/bash
isrunning=`ps xufa | grep "$0" | grep -v grep | wc | awk '{ print $1 }'`
echo $isrunning
s=`ps xufa`
isrunning=`echo "$s" | grep "$0" | grep -v grep | wc | awk '{ print $1 }'`
echo $isrunning
== cut ==
Der erste "echo" liefert "4" - die beim Start von nur einer Instanz falsch
ist - der zweite "echo" liefert das korrekte "1".
Wo - mein Verst�ndnis mal beiseite gelassen - hebt's da? Diese beiden
Zeilen "isrunning=..." m��ten doch �quivalent sein, oder?
Freundliches Grinsen
t++