Глава 13 Процессы-демоны и суперсервер inetd

Глава 13

Процессы-демоны и суперсервер inetd

13.1. Введение

Демон (daemon) — это процесс, выполняющийся в фоновом режиме и не связанный с управляющим терминалом. Системы Unix обычно имеют множество процессов (от 20 до 50), которые являются демонами, работают в фоновом режиме и выполняют различные административные задачи.

Независимость от терминала обычно является побочным эффектом запуска из системного сценария инициализации (например, в процессе загрузки компьютера). Если же демон запускается командой интерпретатора, он должен самостоятельно отключиться от терминала во избежание нежелательного взаимодействия с системами управления задачами, сеансами терминалов, а также вывода на терминал при работе в фоновом режиме.

Существует несколько способов запустить демон:

1. Во время запуска системы многие демоны запускаются сценариями инициализации системы. Эти сценарии часто находятся в каталоге /etc  или в каталоге, имя которого начинается с /etc/rc, но их расположение и содержание зависят от реализации. Такие демоны запускаются с правами привилегированного пользователя.

Некоторые сетевые серверы часто запускаются из сценариев инициализации: суперсервер inetd (следующий пункт, который мы рассмотрим), веб-сервер и почтовый сервер (обычно это программа sendmail). Демон syslogd, обсуждаемый в разделе 13.2, тоже обычно запускается одним из этих сценариев.

2. Многие сетевые серверы запускаются суперсервером inetd, который мы опишем далее в этой главе. Сам inetd запускается в одном из сценариев на этапе 1. Суперсервер inetd прослушивает сетевые порты (Telnet, FTP и т.д.), и когда приходит запрос, активизирует требуемый сервер (сервер Telnet, сервер FTP и т.д.).

3. За периодические процессы в системе отвечает демон cron, и программы, которые он активизирует, выполняются как демоны. Сам демон cron запускается на этапе 1 во время загрузки системы.

4. Если программа должна быть выполнена однократно в определенный момент времени в будущем, применяется команда at. Демон cron обычно инициирует эти программы, когда приходит время их выполнения, поэтому они выполняются как демоны.

5. Демоны можно запускать с пользовательских терминалов, как в основном, так и в фоновом режимах. Это часто осуществляется при тестировании демона или перезапуске демона, завершенного по некоей причине.

Поскольку у демона нет управляющего терминала, ему необходимы средства для вывода сообщений о некоторых событиях — это могут быть обычные информационные сообщения или экстренные сообщения об аварийных ситуациях, которые должен обрабатывать администратор. Использование функции syslog — стандартный способ вывода таких сообщений. Эта функция посылает сообщения демону syslogd.

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

Глава 24 Процессы безопасности

Из книги Секреты и ложь. Безопасность данных в цифровом мире автора Шнайер Брюс

Глава 24 Процессы безопасности В 1996 году была клонирована шотландская овца по имени Долли. В последовавшей за этим событием дискуссии в прессе «Тайм» и «Ньюсуик» высказывали мнение, что клонирование людей безнравственно, и необходимо законодательными мерами пресечь


ГЛАВА 13. Процессы, домены приложений, контексты и хосты CLR

Из книги Язык программирования С# 2005 и платформа .NET 2.0. [3-е издание] автора Троелсен Эндрю

ГЛАВА 13. Процессы, домены приложений, контексты и хосты CLR В предыдущих двух главах мы рассмотрели шаги, которые предпринимаются в среде CLR при выяснении параметров размещения внешних компоновочных блоков, а также роль метаданных .NET. В этой главе мы рассмотрим подробности


1.7.6. Порты и демоны

Из книги Linux-сервер своими руками автора Колисниченко Денис Николаевич

1.7.6. Порты и демоны Дальнейшее изложение материала построено, исходя из того, что вы уже знаете, что такое сервер и какие службы вам придется настраивать. В пункте Как устроена книга (п. 1.5) было подробно описано, в каких главах описана настройка той или иной службы. Здесь же


7.2.6.3. Системные демоны и традиционные сигналы

Из книги Искусство программирования для Unix автора Реймонд Эрик Стивен

7.2.6.3. Системные демоны и традиционные сигналы Многие широко известные системные демоны в качестве сигнала для повторной инициализации (т.е. перезагрузки их конфигурационных файлов) принимают сигнал SIGHUP (первоначально данный сигнал отправлялся программам при разрыве


7.2.6.3. Системные демоны и традиционные сигналы

Из книги Искусство программирования для Unix автора Реймонд Эрик Стивен

7.2.6.3. Системные демоны и традиционные сигналы Многие широко известные системные демоны в качестве сигнала для повторной инициализации (т.е. перезагрузки их конфигурационных файлов) принимают сигнал SIGHUP (первоначально данный сигнал отправлялся программам при разрыве


Использование inetd

Из книги Сетевые средства Linux автора Смит Родерик В.

Использование inetd В обычных условиях программа-сервер связывается с некоторым портом (ресурсом, для идентификации которого используется тип протокола и число в интервале от 1 до 65535). В зависимости от номера порта, указанного в запросе, этот запрос направляется тому или


11.3. Суперсервер xinetd

Из книги Linux: Полное руководство автора Колисниченко Денис Николаевич

11.3. Суперсервер xinetd 11.3.1. Установка суперсервера xinetd Суперсервер xinetd появился в дистрибутивах давно (например, в Red Hat начиная еще с 7 версии) и стал достойной заменой inetd, использовавшемуся до него. Суперсервер xinetd обычно устанавливается по умолчанию во время установки


Суперсервер

Из книги Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ автора Борри Хелен

Суперсервер Каталог инсталляции по умолчанию /opt/firebird. В каталоге /bin находится в двоичном формате сервер Firebird fbserver (ibserver для Firebird 1.0.x), который запускается как процесс-демон в Linux/UNIX. Он запускается автоматически после инсталляции посредством RPM или скрипта и каждый раз при


Суперсервер

Из книги Введение в QNX/Neutrino 2. Руководство по программированию приложений реального времени в QNX Realtime Platform автора Кёртен Роб

Суперсервер Выполняемая программа Суперсервера Firebird - fbserver.exe. Хотя он может запускаться и как самостоятельная программа, он также может находиться под управлением Guardian - fbguard.exe. Guardian обеспечивает возможность эмулировать автоматический рестарт сервисов в Windows и POSIX,


Глава 1 Процессы и потоки

Из книги Программирование для Linux. Профессиональный подход автора Митчелл Марк

Глава 1 Процессы и потоки


Глава 3 Процессы

Из книги Операционная система UNIX автора Робачевский Андрей М.

Глава 3 Процессы Выполняющийся экземпляр программы называется процессом. Если на экране отображаются два терминальных окна, то, скорее всего, одна и та же терминальная программа запущена дважды — ей просто соответствуют два процесса. В каждом окне, очевидно, работает


Демоны

Из книги UNIX: разработка сетевых приложений автора Стивенс Уильям Ричард

Демоны Демоны — это неинтерактивные процессы, которые запускаются обычным образом — путем загрузки в память соответствующих им программ (исполняемых файлов), и выполняются в фоновом режиме. Обычно демоны запускаются при инициализации системы (но после инициализации


13.5. Демон inetd

Из книги Разработка ядра Linux автора Лав Роберт

13.5. Демон inetd В типичной системе Unix может существовать много серверов, ожидающих запроса клиента. Примерами являются FTP, Telnet, Rlogin, TFTP и т.д. В системах, предшествующих 4.3BSD, каждая из этих служб имела связанный с ней процесс. Этот процесс запускался во время загрузки из файла


Демоны bdflush и kupdated

Из книги автора

Демоны bdflush и kupdated В ядрах серий до 2.6 работа потоков pdflush выполнялась двумя другими потоками ядра bdflush и kupdated.Поток пространства ядра bdflush выполнял фоновую обратную запись измененных страниц, когда количество доступной памяти становилось достаточно малым. Также был


Демоны syslogd и klogd

Из книги автора

Демоны syslogd и klogd В стандартной системе Linux для извлечения сообщений ядра из буфера используется специальный демон пространства пользователя klogd, который направляет эти сообщения в файл журнала системных сообщений. Для чтения системных сообщений программа klogd может