С применением модуля Daemon можно упростить код психотерапевтического сервера одновременно добавить к нему средства ведения журнала событий. Рассмотрим содержание программы.
Строки 1-6. Загрузка модулей. Загружаются модули chatbot::Eliza и IO::Socket, а также новый модуль Daemon. Кроме этого, определяется порт, предусмотренный по умолчанию, через который сервер должен принимать входящие запросы.
Строки 7,8. Установка обработчиков сигналов. Устанавливаются обработчики сигналов term и int, которые обеспечивают нормальный останов сервера. Это дает возможность удалить файл РID в блоке END {} модуля Daemon.
Обратите внимание, что обработчик chld в основной программе уже не устанавливается, поскольку эта обязанность теперь возложена на подпрограмму init_server ().
Строки 9-15. Открытие приемного сокета и инициализация сервера. Открывается приемный сокет TCP в порту, указанном в командной строке, а в случае неудачи при выполнении этого действия вызывается функция die. Затем вызывается подпрограмма init_server () для инициализации средств ведения журнала и автоматического перевода сервера в фоновый режим, после чего возвращенное значение идентификатора процесса РID записывается в глобальную переменную. После возврата из этой подпрограммы сервер работает в фоновом режиме и больше не может выводить информацию на стандартное устройство вывода сообщений об ошибках.
Строка 16. Регистрация сообщения запуска. Вызывается подпрограмма log_notice() для записи информационного сообщения в системный журнал.
2014-10-24 13:23:00
это интересно В современном мире информационных технологий особое место отведено сегменту Интернет представительств. И немалую часть в организации сайта является выбор его домена. На сегодняшний день есть множество зон как интернациональных, так и коммерческих и ручной выбор может занять очень много времени. На помощь веб-мастеру приходят различные инструменты сети, одним из таких является сервис по массовой проверке доменов https://regery.com.ua/ru/bulksearch С помощью его функционала можно с легкостью проверить состояние доменов на текущий момент, какие свободны, какие скоро освобождаются.