Коли текстова оболонка типу bash завершує роботу, вона посилає в усі породжені нею процеси сигнал “відбій”. Якщо процес виконується у фоновому режимі, цей сигнал часто знищує його, що в більшості випадків небажано. Якщо Ви маєте намір запустити у фоновому режимі програму, яка повинна буде працювати і навіть після завершення батьківського процесу (звичайні фонові процеси при цьому завершуються), її потрібно запускати як глибокий фоновий процес командою nohup. Така команда має формат:
nohup команда &
Подібний запуск змушує зазначену аргументом команду ігнорувати сигнал відбою. Команда nohup має і побічний ефект: до значення nice додається п’ять. Уся вихідна інформація, яка генерує процес, якщо стандартний файл виведення і стандартний файл помилок не перепризначені, розміщуються у файлі nohup.out.
Демон (від англійського demon чи daemon) - це фоновий процес, що виконує системну задачу, непомітно для користувача і доповнює операційну систему будь-яким спеціальним сервісом. Ця програма не викликається користувачем у явній формі, а спокійно очікує в пам'яті певної події. У повній відповідності з пануючим у UNIX принципом модульності демони є програмами, а не частинами ядра. Багато демонів запускаються під час початкового завантаження і продовжують працювати увесь час, поки система включена. Інші демони запускаються при необхідності і працюють стільки, скільки передбачено їх функціями.
Демони можна знайти за допомогою команди
ps -ax
До основних демонів можна віднести init, inetd та cron.
Демон init - це перший процес, що запускається після початкового завантаження системи, і є предком майже всіх процесів, його PID завжди дорівнює 1),
Демон inetd керує іншими демонами. Раніше всі демони запускалися під час початкового завантаження операційної системи, і працювали безупинно (точніше, блокувалися при чеканні роботи). Згодом у систему вводилися все нові і нові демони. Їх стало стільки багато, що почали з’являтися проблеми з продуктивністю роботи системи. У відповідь фахівці BSD розробили inetd - демон відповідальний за запуск інших демонів по необхідності. Він запускає демони-клієнти, коли для них є робота, а після виконання задачі дозволяє їм тихо завершитись. Для того щоб працювати під керуванням inetd, клієнти повинні дотримуватись особливих правил: якщо конфігурація операційної системи із самого початку не передбачала використання inetd, то для його введення в систему необхідно модифікувати багато інших програм. Багато демонів можуть використовуватися або традиційним способом (тобто вони запускаються однократно і працюють до вимикання системи), або під контролем inetd.
Демон cron відповідає за виконання команд за графіком. Він обробляє файли з розкладом задач (cron-файли), створені як користувачами, так і адміністратором. Демон cron часто використовують в адміністративних задачах, таких, як керування обліковими файлами і файлами реєстрації, щоденне чищення файлової системи.
Рекомендована література з теми 7
[1, c.20-21, 44-46], [2, c.110-123], [5, c.421-422], [7, c.396-400].
Повний список літератури знаходиться на стор. 87.