Pilsen
Новичок
Как правильно выйти из дочернего процесса (php.core & pcntl_fork, pcntl_alarm)
После порождения дочернего процесса (pcntl_fork) я создаю внутри него (в самом начале) обработчик SIGALRM
и внутри обработчика signal_handler вызываю exit(0);
Другими словам, если дочерний процесс не завершился сам - я завершаю его вызовом exit.
При этом, один из десяти дочерних процессов "валится в корку".
Дочерний процесс ждет ответа от удаленного сервера, потому длительные задержки вполне резонны.
Подскажите, как правильно завершать дочернего,что бы не валился в php.core?
Я надеялся, что вызов exit подчистит память и завершит процесс "как полагается".
После порождения дочернего процесса (pcntl_fork) я создаю внутри него (в самом начале) обработчик SIGALRM
PHP:
declare(ticks=1);
pcntl_signal(SIGALRM, "signal_handler", true);
pcntl_alarm($exec_time);
Другими словам, если дочерний процесс не завершился сам - я завершаю его вызовом exit.
При этом, один из десяти дочерних процессов "валится в корку".
Дочерний процесс ждет ответа от удаленного сервера, потому длительные задержки вполне резонны.
Подскажите, как правильно завершать дочернего,что бы не валился в php.core?
Я надеялся, что вызов exit подчистит память и завершит процесс "как полагается".