Использует exec
правильно ли запустить nohup из php-скрипта, если нужно запустить длительное действие, а веб-запрос должен сразу же вернуться? Я хочу порождать другой процесс из php-скрипта, который запускается после выполнения запроса.
Пример:
exec ('nohup php long_running_script.php');
//Need this to return happen right away without waiting for long_running_script.php
echo json_encode(array('success' => TRUE));
Если в Команда доступна на хостинге, я предпочитаю использовать:
putenv( 'SHELL=/bin/sh' );
print `echo /usr/bin/php -q full_path_to_script.php | /usr/bin/at now 2>&1`;
Я бы проверил путь каждой команды, чтобы убедиться, что все выполняется правильно:
echo exec( 'which at' );
Других решений пока нет …