Створення демонів в 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, яка присвоює запускає сценаріями відповідний послідовний номер старту.