popen — Завершение дочерних процессов PHP

Документация popen а также proc_open упомянуть, что соответственно pclose а также proc_close ДОЛЖЕН быть вызван.
Почему это? Почему я не могу запустить процесс, и его завершение не зависит от родителя?

Это было бы полезно, например, в случае фатальной ошибки в родительском процессе.
Это вызывает вопрос что происходит, если родитель выходит без вызова pclose или же proc_close. Я ожидаю, что дочерний процесс будет осиротевшим, но то, что происходит с трубами, например.

Редактировать: некоторое тестирование с обоими popen а также proc_open кажется, показывает, что PHP убивает дочерние процессы при завершении, будь то путем вызова exit или по фатальной ошибке.

Редактировать: Краткое резюме контекста:
Для мониторинга веб-приложения * мне нужен «серверный» процесс, который получает короткие сообщения от одного или нескольких «клиентских» процессов. В некоторых ситуациях новый сервер должен быть запущен при запуске программы. Чтобы сделать эту работу независимой от источника вызова (например, HTTP-запроса), я хочу, чтобы клиент запустил этот процесс. Поскольку (а) сервер может быть подключен к нескольким клиентам и (б) он должен реагировать на сбои клиентов, мне нужно, чтобы он завершился независимо от клиента, который его запустил.

* Это очень большая система, которая уже используется, поэтому я не могу изменить ее структуру.

2

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …