У меня выполняется следующая команда оболочки (это упрощено):
$command = 'nohup php phpworkerservice.php 2>&1 &';
exec($command, $output);
echo 'Worker started.';
exit(0);
Когда я запускаю службу из Интернета, браузер продолжает ждать эхо - это несмотря на то, что командавыполняется правильно, и процесс сохраняется на сервере.Мне интересно, если $output
в exec()
удерживает буфер от сброса, или держит открытый стандартный вывод.То же самое не происходит из командной строки - оно просто выполняется в фоновом режиме и освобождает консоль.