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