Buongiorno a tutti per iniziare.

Ho la necessita di scrivere uno script che come prima attività controlli che un'altra istanza di se stesso non sia già girando e non permetta di proseguire.

Il tutto funziona correttamente su SunSolaris /bin/sh
codice:
#!/bin/sh
daemon="`basename $0`"
pidlist=`pgrep $daemon | grep -v $$`
if [ -n "$pidlist" ]; then
	echo "Process $daemon is running with PID $pidlist"
else
	echo "Process $daemon not running"
fi
exit
Non funziona altrettanto correttamente con Ubuntu 11.10 poichè la shell sh è stata rimpiazzata dalla dash ed anche se nessun altra istanza di se stesso (escludendo $$), la variabile $pidlist contiene comunque il pid del comando grep.

Grazie in anticipo a tutti coloro che mi potranno esser d'aiuto.

Ciao,
Stefano