當您需要確保某個命令或腳本持續在后臺運行,即使終端關閉也不會中斷時,nohup
命令便成了您的得力助手。以下是其基本用法和示例,幫助您更好地理解和使用它。
基本語法:
nohup command [options] &
示例:
- 基本用法:
在后臺運行一個腳本:
nohup ./my_script.sh &
- 指定輸出文件:將標準輸出和錯誤輸出重定向到 output.log 文件:
nohup ./my_script.sh > output.log 2>&1 &
- 后臺運行并忽略輸出:將標準輸出和錯誤輸出全部忽略:
nohup ./my_script.sh > /dev/null 2>&1 &
- 后臺運行并記錄輸出到文件:只記錄標準輸出到 output.log 文件:
nohup ./my_script.sh > output.log &
說明:
command_to_run
:您希望在后臺運行的命令或腳本。&
:將命令放入后臺運行。nohup
:no hang up 的縮寫,意為“不離線”。它將命令的標準輸出重定向到nohup.out
文件,除非您自定義輸出文件。2>&1
:表示將標準錯誤輸出(2)重定向到標準輸出(1)。/dev/NULL
:一個特殊的設備文件,任何寫入其中的數據都會被丟棄。
使用 nohup
命令,您可以確保即使退出終端或斷開 ssh 連接,命令或腳本仍會在后臺持續運行。這為那些需要長時間運行的任務提供了極大的便利。