首頁 >後端開發 >php教程 >php執行shell不阻塞方法 shell if 荷蘭皇家殼牌集團 adb shell

php執行shell不阻塞方法 shell if 荷蘭皇家殼牌集團 adb shell

WBOY
WBOY原創
2016-07-29 08:52:581237瀏覽

大家都知道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 代表空設備檔案


/dev/null 代表空設備檔案

代表重定向到哪裡,例如:echo “123” > /home/123.txt
1 表示stdout標準輸出,系統預設值是1,所以”>/dev/null”等同於”1>/dev/null”

2 表示stderr標準錯誤
& 表示等同於的意思,2>&1,表示2的輸出重定向等同於1

那麼本文標題的語句: 1>/dev/null 首先表示標準輸出重定向到空設備文件,也就是不輸出任何資訊到終端,說白了就是不顯示任何資訊。 2>&1 接著,標準錯誤輸出重定向等同於 標準輸出,因為之前標準輸出已經重定向到了空設備文件,所以標準錯誤輸出也重定向到空設備文件。

')​​.addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i

').text(i)); }; $numbering.fadeIn(1700); }); });

🎜 以上就介紹了php執行shell不阻塞方法,包括了shell方面的內容,希望對PHP教程有興趣的朋友有幫助。 🎜 🎜 🎜
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn