6de99301

Процесс "демон"


Демон (следящая программа) UNIX представляет собой процесс, работающий в фоновом режиме, он функционирует постоянно и не связан с каким-либо терминалом. Существует несколько способов создать демон :
- запустить его при запуске системы, включив его в файл /etc /rc. В этом случае, в программе необходимо создать процесс, окончание которого на ожидается, для того, чтобы не блокировать командный файл запуска;
- выполнить его с помощью файла crontab, что позволяет периодически контролировать его демоном cron;
- выполнить его в качестве фоновой задачи из shell, программно создав процесс, окончания которого не ожидается.
Для правильного кодирования демона необходимо соблюдать не- которые правила (см. пример в главе 4 "Сокеты"):
- закрыть все дескрипторы открытых файлов;
- выйти в корневой каталог дерева файловой системы;
- установить маску создания файлов; - отсоединиться от контрольного терминала, создав собственную группу процессов;
- игнорировать сигналы ввода-вывода;
- правильно управлять сигналом SIGCLD, для того, чтобы возможные порожденные процессы не оставались в состоянии "зомби".



Содержание раздела