|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Victor Wagner 2:5020/400 01 Nov 2002 12:59:55 To : "Denis Zaletov" Subject : Re: Ограничение количества экземпляров запускаемого процесса. -------------------------------------------------------------------------------- Denis Zaletov <dzaletov@cboss.ru> wrote: DZ> Доброго времени суторок, All. DZ> Можно ли, просто и _надежно_, ограничить количество запускаемых экземпляров DZ> скрипта DZ> (например что бы более одного экземпляра в памяти не было). DZ> Имеется ввиду метод работающий на unix-системах, не вызывающий shell-команд Берется Unix-система, смотрится как там лочится модем (uucp-style locking) и делается по образу и подобию. Т.е. при старте создается некий файлик, куда пишется $$, потом ему делается rename в фиксированное имя. rename - операция атоммарная. Если обломился, значит такой файлик есть. Для пущей bulletproof, файлик надо прочитать и послать процессу, pid которого там записан, сигнал 0. Если эта операция не прошла, вернув ESRCH, то процесс сдох, забыв прибить файлик. Можно файлик прибить и повторить операцию. При завершении скрипта, в том числе и аварийном (SIG{__DIE__}) не забыть файлику unlink сделать. -- http://www.communiware.ru http://www.ice.ru/~vitus --- ifmail v.2.15dev5 * Origin: Leninsky 45 home network (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/15178d1e8febf.html, оценка из 5, голосов 10
|