對 2 >&1的解釋

假設運行命令

xxxxxx.sh >output 2>&1 &

1.將標準輸出重定向到output

2 : 2 >&1 將標準錯誤重定向到標出輸出,因爲標準輸出已經重定向到標準輸出,因此也就是將標準錯誤重定向到標準輸出。

    爲什麼需要將標準錯誤重定向到標準輸出的原因,那就歸結爲標準錯誤沒有緩衝區,而stdout有。這就會導致 >output 和2>output 文件output被兩次打開,而stdout和stderr將會競爭覆蓋。

大多數情況下執行命令需要在加上nohup,即忽略(SIGHUP)信號

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章