Я пытаюсь запустить скрипт оболочки Linux из PHP5, который будет работать в течение 24 часов, но я хочу, чтобы веб-страница возвращалась в течение нескольких секунд. Хотя я мог бы решить эту проблему, создав сценарий для запуска задачи, но, похоже, он не работает.
Я искал решение или вариант «один выстрел / выстрел и забыть» в течение нескольких дней без какой-либо удачи.
В следующем примере показана проблема.
В 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. Если я запускаю скрипт вручную в терминале, он немедленно возвращается и порождает цикл.
Кто-нибудь знает, как здесь я могу вызвать задачу, не заставляя веб-страницу ее ждать?
Надеюсь, что вы, ребята, можете мне помочь, это было бы очень ценно.
Чтобы ответить на ваш вопрос:
Других решений пока нет …