php執(zhí)行shell不等待響應(yīng)的方法:首先打開相應(yīng)的后臺;然后通過“system("nohup ./test.py $s &");”方法實現(xiàn)即可。
本文操作環(huán)境:windows7系統(tǒng)、PHP7.1版,DELL G3電腦
php怎么執(zhí)行shell不等待響應(yīng)?
php用system后臺運行命令不等待結(jié)果的用法
system("nohup ./test.py $s &");
這個不會在后臺運行,php會一直掛起直到test.py結(jié)束。
system("nohup ./test.py $s >>log.txt &");
這樣寫才能在后臺運行因為system函數(shù)啟動一個程序并希望保持在后臺運行,
必須確保該程序的輸出被重定向到一個文件或者其它輸出流去,否則PHP 會在程序執(zhí)行結(jié)束前掛起。
比如:
1、 system(“nohup ./test.py $s >>/tmp/output.txt &”);
2、 system(“nohup ./test.py $s > /dev/null 2>&1 &”);
(2>&1是錯誤輸出轉(zhuǎn)到標(biāo)準(zhǔn)輸出,想讀錯誤輸出就加2>&1,不加讀不到錯誤)
或 system(“nohup ./test.py $s > /dev/null &”);
推薦學(xué)習(xí):《PHP視頻教程》