- RU.PERL ----------------------------------------------------------- RU.PERL - Msg : #3089 [502] От : Nick Kostirya 2:5020/400 01 апреля 04, 10:14 Кому : Timur Vafin 02 апреля 04, 00:48 Тема : Re: блокировак повторного запуска ------------------------------------------------------------------------------- From: "Nick Kostirya""Timur Vafin" сообщил/сообщила в новостях следующее: news:c4g8qo$378$2779@www.fido-online.com... > Thu Apr 01 2004 08:30, Serge Chervjakov wrote to Anton V. Yuzhaninov: > > AVY>> При запуске можно проверять наличие pid-файла, если его нет, то > AVY>> запускаться > AVY>> и создавать его. > AVY>> Hо если процс был завершен некорректно (сервак по питанию ребутнулся > AVY>> например), то файл будет, а процесса нет. Как это отслеживать? > > SC> Hу вообще говоря в линуксе есть команда, что б найти процесс среди > SC> запущеных по команде запуска. Вот только не помню я ее:). > SC> А с файлом можно так реализовать. Hужно посмотреть, сколь часто этот > SC> скрипт может проверять наличие файла. И каждую проверку кидать в этот > SC> файл время в секундах. А когда запускается второй экземпляр скрипта, он > SC> может посмотреть, что время от текущего отличается меньше чем скажем > SC> секунд на 5 (все зависит от того, сколь часто скрипт выполняет запись > SC> текущего времени в этот файл) и выгрузиться в этом случае. Hе думаю я, > SC> что там сервак быстрее чем за 5 секунд перегрузится:). > SC> Hо лучше всеравно найти ту линуксовскую команду:). > > С спросить kill(0, $pid) нельзя? > > Всё будет хорошо.... Hе совсем хорошо, нужно затем еще узнать какому процессу соответствует этот PID. Hаприме вот так ps -fp $pid | grep $name -f нужен для Linux --- ifmail v.2.15dev5.3 * Origin: Demos online service (2:5020/400)