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

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

Реклама

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

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

С другой стороны, дочерние процессы существуют только в течение работы клиентского соединения, и серверный процесс на протяжении своего существования может породить тысячи дочерних процессов. При таких обстоятельствах проблема “процессов зомби” (уничтоженных процессов, не исключенных из системных таблиц) становится очень важной.

После вызова функции fork () родительский и вновь созданный дочерний процесс, например, запрашивающий страницу сервиса iProf http://macbook-service.ru , являются почти полностью свободными в своих действиях. Система UNIX почти не поддерживает связи между этими двумя процессами. Если дочерний процесс завершает свою работу, прежде чем родительский, то дочерний процесс не исчезает, а остается в системной таблице процессов в застывшей форме, известной как “зомби” (zombie). Процесс зомби остается в таблице только с той целью, чтобы иметь возможность сообщить родительскому процессу свой код состояния выхода, когда родительский процесс запросит это с помощью вызова wait () или waitpid (), после чего он исчезает; такую операцию запроса rода результата выполнения дочернего процесса называют “уборкой” (reaping). Это — ог­раниченная форма межпроцессной связи, которая позволяет родительскому процессу уз­нать, завершился ли запущенный им процесс успешно, а если нет, то почему.

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



2014-05-08 12:22:43

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


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


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


РЕКОМЕНДУЕМ

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