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