Io-Redirection

在後台執行命令並將輸出列印到文件而不列印到螢幕

  • June 12, 2017

假設我想在後台執行某些東西並將其列印到文件中。但是,當我執行以下操作時,它仍然會列印到螢幕上……有誰知道為什麼?我該怎麼辦?謝謝你。

./mc.x & 2>&1 > test.out  
wait

將背景放在最後,如下所示:

./mc.x 2>&1 > test.out &

注意:您的重定向無效,因為 2>&1 將使 stderr 轉到 stdout 所在的位置(即顯示和它無論如何都會出現的位置)。然後,stdout 將進入文件 test.out。交換他們的順序會使所有的 stderr+stdout 進入文件 test.out。

好吧,首先您嘗試使用的語法應該如下所示:

./mc.x > test.out 2>&1

&請注意您嘗試使用的命令中的額外內容。是的,這樣您將無法將程序發送到後台。

TL;DRnohup用來完成你想要的:

nohup 2>&1 ./mx.c &

這樣程序就不會掛起你的終端並將兩者都發送stdoutstderr一個名為nohup.out.

引用自:https://unix.stackexchange.com/questions/352760