Личный кабинет    
Назад К началу Вперед Карта сайта Телефонные коды стран и городов Мира Анализатор тарифов Служб IP-Телефонии и Рейтинг

Разделы
Введение
Литература
Операторы
Оборудование
Анализатор
Сотрудничество
Печать карт
Новости
Опросник
Коды
Справка
Работа
Каталог
Хостинг
Личный кабинет

Реклама

Perl для IP-Телефонии (38 – сервер с правами суперпользователя, часть 15)

предыдущая часть ««»» следующая часть

В последней версии программы психотерапевтического сервера предусмотрено выполнение следующих действий. Сервер в ответ на сигнал HUP разрывает все текущие соединения, закрывает приемный сокет, а затем перезапускает сам себя. Изме­нен также обработчик TERM так, что сервер разрывает все соединения и прекращает свою работу. Перезапуск сервера таким образом приводит к тому, что сигнал HUP инициализирует корректный запуск. Запись в журнал приостанавливается и снова запускается, выполняется повторная инициализация памяти, а если есть файл конфигурации, он вновь его открывает и интерпретирует.

Также может и работать любой другой веб-сервер, например, на котором размещен интернет-магазин компьютерной техники http://comfy.ua/computer/plane-table-computer.html?brand=Acer.

В этом примере не только показано, как обрабатывать сигнал HUP, но и проиллю­стрированы два других метода.

1) Безопасное изменение обработчиков прерывания в дочернем процессе, соз­данном путем ветвления.

2) Вызов с помощью функции ехес () программы в условиях применения режима проверки потенциально опасных данных.

Для обеспечения правильной обработки сигнала HUP необходимо изменить и основной файл сценария, и модуль Daemon.

Изменения в основном сценарии

Подпрограмма launch_child () принимает два необязательных параметра: имя процедуры об­ратного вызова, которая должна быть вызвана после завершения работы дочернего процесса, и путь к каталогу, для которого должна быть выполнена функция chroot (). Первый параметр представляет собой ссылку на код. Этот код вызывается обработчиком chld модуля Daemon по­сле вызова функции waitpid (), что позволяет включить в программу в случае необходимости дополнительный код. В данном примере это средство не требуется, поэтому первый параметр остается пустым. Однако в подпрограмме launch_child () должна быть выполнена функция chroot (), поэтому в качестве второго параметра задана константа eliza_home.



2014-11-16 00:25:34

предыдущая часть ««»» следующая часть


ДОКУМЕНТАЦИЯ VoIP


НОВОСТИ СВЯЗИ


РЕКОМЕНДУЕМ

 
[ стандарты | обзор | оборудование | анализатор | коды | новости | карта | партнерам | Мы ВКонтаке ]
Запрещается копировать материалы сайта без уведомления авторов.
С вопросами и предложениями обращайтесь со страницы контактов
Copyright c 1999-2024 IPTop.Net
 
IP-Телефония, Интернет Телефония, Компьютерная телефония