Принцип работы
Подробная архитектурная документация

Мастер-процесс - это основной процесс, который начинает работу, как только вы запускаете Localzet Server и выполняет всю процедуру запуска. Он не участвует в обработке запросов, а служит лишь для поддержания стабильности, мониторинга и управления дочерними процессами.
- Проверка среды - перед началом работы процесс должен убедиться, что он запущен из терминала и система соответствует минимальным требованиям.
 - Демонизация - здесь процесс переходит в фоновый режим (daemon).
 - Установка сигналов - так процесс, выполняемый в Unix-подобной системе, сообщает самой ОС о том, какие сигналы POSIX может принимать и устанавливает обработчики.
 - Создание сокета  - на этом этапе процесс создаёт слушающий сокет с параметрами, которые вы передали серверу (
$socketNameи$socketContext). - Создание форков - т.к. сам мастер-процесс не принимает соединения, этим занимаются дочерние процессы (форки).
 - Мониторинг сигналов - последним этапом запуска является переход в режим мониторинга и обработки входящих POSIX-сигналов для управления форками.
 

Рабочие процессы - это дочерние процессы, которые обрабатывают входящие соединения и выполняют основную логику вашего приложения. Каждый такой процесс работает независимо и может обслуживать сотни тысяч входящих соединений.
- Epoll слушает события - при новом входящем событии Epoll решает, какому сокету его передать.
 - Логическая обработка - после получения запроса процесс передаёт его обработчикам протоколов транспортного и прикладного уровней, а после - вашему обработчику.
 - Возврат ответа - после выполнения основной логики приложения, клиенту возвращается ответ, посредством ранее определённых протоколов.
 - Обратная связь - в конечном итоге процесс возвращается к исходному состоянию для принятия новых соединений.
 

Сигналы POSIX - это асинхронное уведомление процесса о каком-либо событии, один из основных способов взаимодействия между процессами в Unix-подобных системах. По умолчанию, при получении сигнала, операционная система прерывает выполнение процесса, если процессом не задан обработчик соответствующего сигнала.
В Localzet Server предустановлены обработчики сигналов SIGINT, SIGTERM, SIGHUP, SIGTSTP, SIGQUIT,
SIGUSR1, SIGUSR2, SIGIOT и SIGIO. На схеме наглядно показаны сигналы и действия, к которым они приведут
при взаимодействии с процессом сервера.
SIGQUIT и SIGUSR2 отвечают за, так называемую, "плавную" остановку и перезагрузку. Плавность здесь - это
процесс закрытия всех соединений перед остановкой или перезагрузкой сервера. Так сервер сообщит клиентам, что
выключается, а не грубо оборвёт соединения.

