В результате выполнения этого вызова создается два дескриптора файла. Дескриптор CHILD_WRITE применяется дочерними процессами для записи сообщения о состоянии, а с помощью ОНILD_READ родительский процесс получает эти сообщения. При создании путем ветвления, каждый новый дочерний процесс закрывает дескриптор CHILD_READ и сохраняет копию CHILD_WRIТЕ. Сообщения о состоянии имеют простой формат. Они состоят из идентификатора дочернего процесса, пробельного символа, текущего кода состояния и символов обозначения конца строки.
2209 busy
Код состояния обозначается строками “idle”, “busy” и “done”. Дочерний процесс передает код состояния “idle” (простаивающий) непосредственно перед вызовом функция accept () и “busy” (работающий) — сразу после приема нового соединения. Дочерний процесс сообщает, что он переходит в состояние “done” (завершившийся) после того, как обработает максимальное число соединений, и начинает готовиться к завершению.
Родительский процесс читает сообщения в цикле, интерпретируя их и поддерживая глобальную переменную %STATUS в актуальном состоянии. При изменении состояния любого дочернего процесса родительский процесс подсчитывает число работающих и простаивающих дочерних процессов, и в случае необходимости запускает новые дочерние процессы или уничтожает старые для поддержания числа простаивающих процессов в установленном диапазоне. Должна быть предусмотрев возможность прервать цикл чтения родительского процесса по сигналу, чтобы можно было остановить сервер.
2014-12-13 22:56:29
это интересно Многие бытовые моменты требуют от нас надежных средств хранения, транспортировки и защиты от окружающих воздействий. На помощь придут пакеты полиэтиленовые от производителя , которые представлены в огромном ассортименте на сайте
plenka-voronezh.ru. Здесь можно подобрать изделия по критериям прочности, цвета, светопроницаемости.