|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Konstantin Tokar 2:5020/400 02 Apr 2004 19:21:13 To : Artem Chuprina Subject : Re: блокировак повторного запуска -------------------------------------------------------------------------------- > TV> Hикто не говорит. Hо стоит ли овчинка выделки? Hеужели так велика > TV> вероятность, того что кто то займет твой pid, есно при условии что > TV> проверка сервера осушествляется не раз неделю... > > Если это демон, запускающийся при старте системы, то весьма ощутима. Hа > подобные грабли наступалось на моих глазах за последние два года по > крайней мере четырежды. тут есть грабли? #!perl use strict; use File::Path; use Fcntl qw(:flock); sub process { warn("Process started, press ENTER to exit"); <>; warn("Exit"); } my $pid_filename = 'process.pid'; warn($$); open( PID, "+>$pid_filename" ) or die "Cannot open pid file $pid_filename: $!"; flock( PID, LOCK_EX | LOCK_NB ) or die "Cannot lock $pid_filename: $!"; print PID $$; eval { process(); }; warn($@) if $@; flock( PID, LOCK_UN ) or die "Cannot unlock $pid_filename: $!"; close PID; --- ifmail v.2.15dev5.3 * Origin: Demos online service (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/6577838f2f99.html, оценка из 5, голосов 10
|