Я использую Symfony2, и я хочу запустить длинный скрипт, написанный на C++ (например, 60 минут).Symfony выполнение сценария с длинным сценарием
Теперь я делаю это с помощью shell_exec()
:
$pid = shell_exec('nohup my/program/written/in/c++.out some arguments > /dev/null 2>/dev/null & echo $!');
Если я буду освежать страницу скрипт работает нормально, но если я иду AFK сценарий завершается процесс PHP сервера (/ USR/BIN/PHP -cgi).
Есть ли способ изолировать C++-программу от процесса PHP-сервера? С nohup процесс имеет ppid = 1, поэтому он должен быть изолирован, но это не так.
Рассмотрите возможность использования команды консоли symfony ... похоже, что вы вызываете shell_exe c() в действии контроллера, который завершится с завершением HTTP-запроса AFAIK –