在 Linux 中,nohup
命令用于在用戶退出系統或關閉終端后繼續運行指定的命令或腳本。使用 nohup
可以避免 SSH 會話中斷對進程的影響。以下是使用 nohup
的基本步驟和示例:
nohup command [arguments] &
command
是你想要運行的命令或腳本。[arguments]
是傳遞給命令的參數(如果有)。&
將命令放入后臺運行。假設你有一個名為 my_script.sh
的腳本,你希望在 SSH 會話中斷后仍然繼續運行它。
使用 nohup
運行腳本:
nohup ./my_script.sh &
查看輸出:
nohup
默認會將輸出重定向到一個名為 nohup.out
的文件中。你可以使用以下命令查看輸出:
tail -f nohup.out
指定輸出文件:
如果你希望將輸出重定向到其他文件,可以使用 >
或 >>
操作符:
nohup ./my_script.sh > output.log 2>&1 &
這里,>
將標準輸出重定向到 output.log
,2>&1
將標準錯誤重定向到標準輸出,從而將所有輸出都寫入 output.log
。
&
將命令放入后臺運行,這樣你可以在不阻塞終端的情況下繼續使用 SSH 會話。nohup
會將輸出重定向到 nohup.out
文件。如果你希望將輸出重定向到其他文件,需要顯式指定。nohup
可以避免 SSH 會話中斷對進程的影響,但你仍然需要手動管理這些進程。例如,你可以使用 ps
命令查看進程狀態,使用 kill
命令終止進程。nohup
運行一個長時間運行的命令假設你想運行一個長時間運行的命令 long_running_command
,并希望它在 SSH 會話中斷后繼續運行:
nohup long_running_command &
然后,你可以使用以下命令查看輸出:
tail -f nohup.out
通過這種方式,即使你關閉了 SSH 會話,long_running_command
也會繼續運行。