Есть демон на php, выполняющий в цикле разные задачи, в частности: иногда в определённое время порождает процессы и убивает их, если они слишком долго выполняют поставленную задачу. Но не учёл в демоне такую вещь, как зомби-процесс. Т.е. в идеале демон должен получать от детей сигнал при завершении работы. Надо использовать
pcntl_waitpid, но из короткой документации не могу понять, эта функция вообще что ли останавливает выполнение скрипта, пока ребёнок не завершит свою работу, или как ?
Что например делает:
pcntl_waitpid($pid, $status, WNOHANG);
Проверяет статус?
Или ждёт, пока процесс завершиться и вернёт статус, останавливая работу родителя на значительное время?