大家都知道php執行系統指令的方法有:
system() 輸出並傳回最後一行shell結果。
exec() 不輸出結果,傳回最後一行shell結果,所有結果可以儲存到一個回傳的陣列裡面。
passthru() 只呼叫指令,把指令的運作結果原樣地直接輸出到標準輸出設備上。
這些方法都會等待命令執行完畢後才會繼續執行後續的程序
不阻塞可以將指令輸出的內容寫入系統的一個回收站文件,這樣程式就不會阻塞
例如:
<code>shell_<span>exec</span>(<span>"/use/local/php/bin/php /www/t.php > /dev/null 2>&1 &"</span>);</code>
shell可能經常能看到:>/dev/null 2>&1
指令的結果可以透過%>的形式來定義輸出
/dev/null 代表空設備檔案
1 表示stdout標準輸出,系統預設值是1,所以”>/dev/null”等同於”1>/dev/null”代表重定向到哪裡,例如:echo “123” > /home/123.txt
/dev/null 代表空設備檔案
2 表示stderr標準錯誤
& 表示等同於的意思,2>&1,表示2的輸出重定向等同於1
').text(i)); }; $numbering.fadeIn(1700); }); });
🎜 以上就介紹了php執行shell不阻塞方法,包括了shell方面的內容,希望對PHP教程有興趣的朋友有幫助。 🎜 🎜 🎜