LINUX.ORG.RU

[СИ] Куда-то пропала блокировка fcntl.

 


0

1

[СИ] Куда-то пропала блокировка fcntl.

Язык СИ
ОС UNIX (FreeBSD 7.2)

При запуске самодельного сервера на pid-файл ставится
блокировка fcntl, как описано в книге Стивенса
«UNIX взаимодействие процессов» (9.7 Запуск еднственного
экземпляра демона. стр.233).
Когда потребовалось остановить сервер, то пусковой модуль
отказывался посылать сигналы. Это если pid-файл не заблокирован,
то он думает, что сервер не запущен.
По top-у и номеру из pid-файла, а так же по работе сервера,
было видно, что мастер-процесс, который и держит блокировку,
работает. При запуске обработка ошибки fcntl есть.
За период работы никаких происшествий на машине-сервере не было.

Вопрос-1.
Куда могла деться? Кто-нибудь сталкивался или знает?

Вопрос-2.
В программе сигналы посылает вызов
kill(-pid, SIGINT);
Отрицательный -pid посылает сигналы всем процессам группы процессов.
Есть ли похожая команда sh?

Вопрос-3.
Если процесс - лидер группы процессов кончился, то сработает ли
kill(-pid, SIGINT); - Группа-то ведь осталась? Конечно, надо
протестить, потом. А сейчас если кто знает готовый ответ?

Кто знает прошу ответить.


Ну я не телепат, но может быть вы лочите файл после форка в родительском процессе?

OxiD ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.