Я пытаюсь запустить сценарий оболочки Linux из PHP5, который будет работать в течение 24 часов, но я хочу, чтобы веб-страница возвращалась в течение нескольких секунд. Я, хотя это можно было бы решить, создав скрипт для нереста задачи, но он, похоже, не работает.PHP5, Shell_exec, ожидающий завершения заданий оболочки linux
Я искал вариант решения или вариант «один выстрел/огонь и забыть» в течение нескольких дней без везения.
В следующем примере показана проблема.
В PHP 5 я сделать один из следующего вызова (пробовал много он этот пункт)
passthru("dummy_script.sh");
или
system("dummy_script.sh");
или
shell_exec("dummy_script.sh");
Фиктивная сценарий выглядеть следующие:
#!/bin/sh
{
while true
do
sleep 1
done
} &
Я вижу, что процесс начинается, но веб-страница не возвращается, прежде чем я создам «killall dummy_script.sh». Если я запускаю скрипт вручную в терминале, он немедленно возвращается и порождает цикл.
Кто-нибудь знает дорогу здесь, я могу создать задачу, не заставляя веб-страницу ждать ее?
Надеюсь, вы, ребята, можете мне помочь, это было бы очень признательно.
Спасибо за быстрый ответ. Это возможное решение, и теперь все в порядке. Но я не намерен таскать любые ресурсы, ожидая завершения процесса. Нет ли вариантов отправки команды, не дожидаясь ее завершения? (опция «огонь и забыть») –