Опитвам се да стартирам Linux shell скрипт от 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“. Ако стартирам скрипта ръчно в терминал, той се връща незабавно и създава цикъла.
Някой знае ли начин тук, по който мога да създам задачата, без да карам уеб страницата да чака?
Надявам се, че можете да ми помогнете, ще бъда много благодарен.