10:53 Thu 19 Jul , Igor Chumak wrote: > Защиту от запуска второй копии я делал так: > > if [ -f $lockfile ] > then > echo "Lock file $0.lock exist!" > while [ -f $lockfile ] > do > pid=`cat $lockfile` > if [ -n "$pid" ]; then > echo "pid=$pid in lockfile; our pid=$$" > if ps $pid ; then > echo "Process exist; waiting" > else > echo "no process with $pid; remove lockfile" > rm -f $lockfile > fi > else > echo "no process with $pid; remove lockfile" > rm -f $lockfile > fi > echo "sleep 10s"; sleep 10 > done > fi > echo $$>$lockfile > > (Если обнаруживаем вторую копию - ждем пока она завершится.)
Такая защита может наплодить процессов, которые месяцами ждут разблокировки. Для себя я выбрал решение с таймаутом, если скажем за 6 часов блокировку не удалось получить, то процесс вываливается с ошибкой. -- WBR, Andrey Tataranovich -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected] Archive: http://lists.debian.org/[email protected]

