On Wed, 2010-04-14 at 14:15 +0200, Martin Møller Skarbiniks Pedersen
wrote:
Hejsa,
På solaris og AIX bruger jeg flg. lille kode-stump:
#!/bin/bash
NUM_OF_ME=$(ps -ef | grep num_of_me.sh |wc -l )
echo $NUM_OF_ME
if [[ $NUM_OF_ME -gt 1 ]] ; then echo already running ; exit ; fi
[...]
Men under linux er NUM_OF_ME lig 3, selvom der ikke kører andre kopier
af scriptet.
Hvad sker der lige og hvad kan det bedst løses, så det virker ens på
alle unix-platforme ?
Det har formentlig ikke så meget at gøre med linux kontra ikke-linux,
men mere med at du også tæller grep processen med.
Jeg plejer altid at tilføje en "| grep -v grep" efter den første grep,
så passer pengene. Det kan sikkert også gøres mere sofistikeret.
Erling