У меня есть рабочий php-скрипт, использующий shell_exec для выполнения внешней программы, для завершения которой требуется около 30 секунд. Проблема заключается в том, что если пользователь закрывает браузер или соединение закрывается по какой-либо причине, программа, запущенная с shell_exec, продолжает работать впустую, так как ее вывод больше не может быть отправлен пользователю.PHP shell_exec - как завершить процесс, если соединение закрыто?
Есть ли способ убить этот процесс, как только соединение будет закрыто?
Благодарим за помощь.
Просто, чтобы подтвердить, я получил это прямо: имеет ли пользователь в настоящее время приходится ждать около 30 секунд для загрузки страницы? – Jon
shell_exec вызывает программу для выполнения 3D-рендеринга, и результатом является URL-адрес рендеринга, который затем устанавливается как src тега img. PHP-код, который использует shell_exec, выполняется через вызов ajax, поэтому пользователю не нужно ждать 30 секунд для полной загрузки страницы, ему нужно дождаться результата 3D-рендеринга, который, как он знает, займет некоторое время. –