Создание демонов в Linux

Автор Itworkroom

В статье показано как создать демона в Linux.

Демон или (от анг. daemon) это программа в системах класса UNIX, запускается самой ОС и работает в фоновом режиме без взаимодействия с пользователем. Демоны обычно запускаются во время загрузки системы.
Для создания демона необходимо выполнить установку ПО и настроить его автозагрузку при старте системы. Обычно если
устанавливаемая программа предназначена для использования в качестве демона, то соответствующие инструкции выполняются в автоматическом режиме и не требуют вмешательства.
Имеется несколько вариантов автоматического запуска демонов в Unix подобных системах. Например, для сервера Ubuntu без графического интерфейса используется классический вариант помещения системных файлов в папку /etc/init.d.

Соответственно в папках:

/etc/rc0.d, размещаются файлы, которые выполняются автоматически при запуске

/etc/rc1.d, размещаются файлы, которые выполняются автоматически при остановке системы

Такие файлы запуска принято называть с символа S (от анг. Start), а останова — с символа K (от анг. Kill); после этого символа указывается число, определяющее порядковый номер запуска и остановки). Для запуска службы в эти папки просто помещают ссылки
на командный файл запуска в папке /etc/init.d.
Такие ссылки создать  можно и вручную, но правильней использовать команду update-rc.d. Эта утилита автоматически создает ссылки при установке демона или удаляет их в противном случае. Для создания демона достаточно выполнить:

update-rc.d файл_запуска defaults

С ключом remove эта команда удаляет соответствующие ссылки. Следующий пример показывает отключение демона apache:

sudo update-rc.d -f apache2 remove

Следует учесть, что сценарии запуска демона, которые расположены в директории /etc/init.d, должны создаваться по правилам, для того чтобы можно было применять типовые команды для запуска, остановки демона и т. д. Обычно такие сценарии поставляются вместе с ПО, но если они отсутствуют, то в качестве шаблона используют файл /etc/init.d/skeleton.

Также в этих сценариях имеются указания о зависимостях служб (какие демоны необходимо запустить до старта данного демона и остановить в других случаях). Эти указания обрабатываются командой update-rc.d, которая присваивает запускающим сценариям соответствующий последовательный номер старта.

One comment on “Создание демонов в Linux

  1. Демон должен сохранить свой PID в файл, для ого чтобы потом можно было его корректно остановить.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *