[Moscow.pm] Кронскрипты: защита от повторного запуска

Nick Knutov mail на knutov.com
Пн Авг 5 12:21:17 PDT 2013


use Unix::PID;
my $pid = 'appname.pid';
   $pid = '/var/run/'.$pid if $< == 0; # real user ID is root
Unix::PID->new()->pid_file($pid) or die "The PID in '$pid' is still
running.";


06.08.2013 0:47, Ivan Petrov пишет:
> кто как делает сабж?
> 
> мы много лет делаем на базе flock'а который делает опен на $0 (а
> временами и на файлхендл DATA).
> все работает. но вот ИНОГДА наблюдаем сбои: перед flock и после стоит
> print.
> иногда внутри flock "зависает" (хотя должен либо взять блокировку,
> либо вернуть ошибку).
> и далее один скрипт "висит", все другие видят flock и отваливаются.
> 
> пока не выяснил: бага в перле это или в окружении линуховом или еще
> где.
> ща бы просто проблему решить.
> добавить alarm можно конечно но не хочется.
> 
> есть еще варианты решения сабжа?
> 

-- 
Best Regards,
Nick Knutov
http://knutov.com
ICQ: 272873706
Voice: +7-904-84-23-130


Подробная информация о списке рассылки Moscow-pm