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 mailing list
[email protected] | http://moscow.pm.org

Ответить