The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

lock файлы для ограничения числа одновременно запущенных процесов (lock)


<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>
Ключевые слова: lock,  (найти похожие документы)
Date: Fri, 01 Nov 2002 11:59:55 +0500 From: Victor Wagner <vitus@communiware.ru> Newsgroups: ftn.ru.perl Subject: lock файлы для ограничения числа одновременно запущенных процесов DZ> Можно ли, просто и _надежно_, ограничить количество запускаемых экземпляров DZ> скрипта (например что бы более одного экземпляра в памяти не было). DZ> Имеется ввиду метод работающий на unix-системах, не вызывающий shell-команд Берется Unix-система, смотрится как там лочится модем (uucp-style locking) и делается по образу и подобию. Т.е. при старте создается некий файлик, куда пишется $$, потом ему делается rename в фиксированное имя. rename - операция атоммарная. Если обломился, значит такой файлик есть. Для пущей bulletproof, файлик надо прочитать и послать процессу, pid которого там записан, сигнал 0. Если эта операция не прошла, вернув ESRCH, то процесс сдох, забыв прибить файлик. Можно файлик прибить и повторить операцию. При завершении скрипта, в том числе и аварийном (SIG{__DIE__}) не забыть файлику unlink сделать.

<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>

 Добавить комментарий
Имя:
E-Mail:
Заголовок:
Текст:




Спонсоры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2022 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру