У меня есть скрипт, который выполняет несколько задач.
Чтобы избежать тайм-аута, ограничений памяти, кросс-вара и т. Д., Я решил использовать основной скрипт, который разветвляет все такты на разные процессы PHP.
Я могу запустить скрипт вручную и работать нормально.
Я могу запустить вручную каждый дочерний процесс и работать нормально.
Однако время от времени я вижу, что некоторые дочерние процессы работают вечно, и мне приходится убивать их сверху.
Кто-нибудь знает, почему процесс PHP, выполняемый CLI, должен стать зомби и избегать закрытия самого себя, а также основного процесса?
Процесс порождения:
foreach ($OPS as $OP) {
$command = $PHP_BIN." ".__DIR__."/process_this.php op_id=".$OP["id"];
exec($command);
sleep(5);
}
Задача ещё не решена.
Других решений пока нет …