2010-10-04 3 views

ответ

4

Согласно dnsmasq man page, по умолчанию он записывает файл pid в /var/run/dnsmasq.pid. Этот файл будет текстовым файлом, который содержит целое число, представляющее идентификатор процесса. Откройте файл, прочитайте целое число и вызовите kill(pid, 0), чтобы узнать, жив ли этот процесс в этом pid. (Хотя проверка существования PID не гарантируется, чтобы не найти какой-либо другой процесс, работающий на этом PID, это обычно достаточно хорошо.)

+0

+1 для 'kill (pid, 0)' trick :-) – jweyrich

+0

Если я это сделаю 'kill (pid, 0);' как только я прочитал pid, будет ли результат '0' для него существующим, а' -1' для него нет? –

+0

@ Delan Azabani: Это правильно. –

Смежные вопросы