Главная страница


ru.unix.bsd

 
 - RU.UNIX.BSD ------------------------------------------------------------------
 From : Eugene Grosbein                      2:5006/1       17 Dec 2003  14:11:50
 To : Rashid N. Achilov
 Subject : Re: Узнать из программы, что запущена другая копия этой программы
 -------------------------------------------------------------------------------- 
 
  RNA> Похоже, вопрос был поставлен некорректно. Lock-файл создается. Если
  RNA> программа сдохла, lock-файл остался. Как решить - lock-файл принадлежит
  RNA> уже сдохшей программе и его можно выносить, или существует работающая
  RNA> копия?
 
 Вариант 1. Использовать настоящие блокировки (flock).
 Вариант 2. Писать pid в lock-файл и посылать сигнал 0 этому pid'у.
 Если процесса уже нет, kill вернет ошибку, если есть - вернет успех
 и ничего посылать не будет. Проблема может быть в том, что процесса уже нет,
 а система успела выдать pid совсем другому процессу.
 Вариант 3. Использовать не lock-файлы, а unix sockets и пытаться получить
 кодовое слово из сокета.
 
 Eugene
 -- 
 "Люди забыли эту истину," - сказал Лис, - "но ты не забывай"
 --- slrn/0.9.7.4 (FreeBSD)
  * Origin: Svyaz Service JSC (2:5006/1@fidonet)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Re: Узнать из программы, что запущена другая копия этой программы   Eugene Grosbein   17 Dec 2003 14:11:50 
Архивное /ru.unix.bsd/26093eb000e3f.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional