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

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

Реклама

Perl для IP-Телефонии (32 – TCP клиент/сервер, часть 26)

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

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

В ином случае, ссылаясь на документацию и материалы сайта , если функция kill () возвращает ложное значение, это значит, что предыдущий серверный процесс завершился некорректно, без уничтожения своего файла PID, или работает под другим идентификатором пользователя и текущий процесс не имеет дос­таточных привилегий для отправки ему сигнала. Мы не принимаем во внимание последний случай, поскольку предполагается, что запуск сервера всегда происходит от имени одного и того же пользователя. Если это предположение является ложным, то попытка уничтожить старый файл PID на следующем этапе завершится аварийно и не произойдет опасного раз­вития событий.

Строки 7-9. Уничтожение старого файла PID. В стандартный вывод сообщений об ошибках записывается предупреждение и предпринимается попытка уничтожить старый файл PID после предварительной проверки с помощью оператора файловой проверки -w того, что он предназначен для записи. Если проверка -w или вызов функции unlink () оканчивается неудачей, происходит аварийное завершение сценария.

Строки 10-12. Создание нового файла PID. Последние два этапа состоят в создании нового файла PID и открытии его для записи. Вызывается метод IO::File->new() с таким сочета­нием флажков, которое позволяет создать файл и открыть его, но только если он еще не существует. Это исключает возможность случайно затереть файл в том случае, если запуск сервера был выполнен два раза подряд с небольшим промежутком времени, оба экземпляра проверили наличие файла PID и обнаружили, что он отсутствует, и почти одновременно пытаются создать новый файл PID. В случае успешного выполнения открытый дескриптор файла воз­вращается вызывающему оператору.



2014-06-06 12:39:03

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


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


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


РЕКОМЕНДУЕМ

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