|
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)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix.bsd/26093eb000e3f.html, оценка из 5, голосов 10
|