Io-Redirection
在後台執行命令並將輸出列印到文件而不列印到螢幕
假設我想在後台執行某些東西並將其列印到文件中。但是,當我執行以下操作時,它仍然會列印到螢幕上……有誰知道為什麼?我該怎麼辦?謝謝你。
./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;DR
nohup
用來完成你想要的:
nohup 2>&1 ./mx.c &
這樣程序就不會掛起你的終端並將兩者都發送
stdout
到stderr
一個名為nohup.out
.