Re: Überprüfen ob ein Script schon läuft
On Tue, 15 Mar 2005, Christian Knoke wrote:
> > [ ... Testscript snipped ... ]
> Nicht unbedingt. In der zweiten Version dürfte der Output von ps xufa als
> Parameter des Befehls echo in der Prozesstabelle auftauchen, in der ersten
> nicht.
Kein Problem - kann man testen, indem man den Zweig "| wc | awk ..."
entfernt.
Dann sieht das Testscript so aus:
== cut ==
#!/bin/bash
echo "Erste Version"
isrunning=`ps xufa | grep "$0" | grep -v grep`
echo $isrunning
echo "Zweite Version"
s=`ps xufa`
isrunning=`echo "$s" | grep "$0" | grep -v grep`
echo $isrunning
== cut ==
und der Output - manuell ein wenig aufgehübscht - so:
Erste Version
root 28658 0.0 0.2 2276 1028 pts/4 S+ 21:52 0:00 \_ /bin/bash /usr/local/bin/local-backup.sh
root 28659 0.0 0.2 2276 1036 pts/4 R+ 21:52 0:00 \_ /bin/bash /usr/local/bin/local-backup.sh
root 28661 0.0 0.2 2276 1036 pts/4 R+ 21:52 0:00 \_ /bin/bash /usr/local/bin/local-backup.sh
root 28662 0.0 0.2 2276 1036 pts/4 R+ 21:52 0:00 \_ /bin/bash /usr/local/bin/local-backup.sh
Zweite Version
root 28658 0.0 0.2 2280 1036 pts/4 S+ 21:52 0:00 \_ /bin/bash /usr/local/bin/local-backup.sh
Es ist also richtig, daß in der ersten Version falsch gezählt wird.
Nur wieso?
Mit freundlichem Grinsen
t++
Reply to: