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

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

Реклама

Perl для IP-Телефонии (17 – Каналы, часть 3)

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

Рассмотрим пример практически применимой программы, которая открывает канал в команду who UNIX и подсчитывает, сколько раз регистрировался каждый пользователь. Она вырабатывает примерно общий отчет. Сценарий такого рода может применяться администратором загруженной системы для контро­ля над ее использованием.

Функции open() и close() были немного доработаны с учетом их применения с каналами они предоставляют дополнительную информацию о вызываемом подпро­цессе. При открытии канала функция open() возвращает идентификатор процесса PID команды, выполняемой на другом конце канала. Это - уникальное ненулевое целое число, которое может применяться для управления подпроцессом с помощью сигналов. В программе можно сохранить этот идентификатор процесса переменной или игнорировать его особый смысл и рассматривать значение, воз­вращаемое функцией open(), как логический флажок.

При использовании функции close() для закрытия канала применяются ее дополнительные возможности, которые предусматривают размещение кода заверше­ния подпроцесса в специальной глобальной переменной $?. В отличие от обычно применяемого соглашения Perl, переменная $? принимает нулевое значение в случае успешного выполнения команды и ненулевое - в случае возникновения ошибки. В до­кументе perlvar POD приведена дополнительная информация о кодах завершения.

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



2013-09-23 18:59:15

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


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


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


РЕКОМЕНДУЕМ

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