nohup(no hang-up)命令用于在Linux中運行進程,使其在用戶退出登錄或關閉終端后仍然繼續運行
使用nohup命令啟動進程:
語法:nohup command &
例如,要使用nohup運行名為my_script.sh的腳本,可以使用以下命令:
nohup ./my_script.sh &
這將在后臺運行腳本,并將輸出重定向到名為nohup.out的文件。
使用disown命令:
如果進程已經在運行,可以使用disown命令將其從當前shell會話中分離,使其不受掛起(SIGHUP)信號的影響。
語法:disown [job_spec]
例如,要分離正在運行的名為my_script.sh的腳本,可以使用以下命令:
disown %1
這將從當前shell會話中分離作業1(job 1)。
使用screen或tmux工具:
screen和tmux是終端復用器,允許您在一個終端窗口中運行多個會話。當您使用這些工具時,即使關閉終端或斷開連接,進程也會繼續運行。
例如,要使用screen啟動一個新會話并運行my_script.sh,可以使用以下命令:
screen -S my_session
./my_script.sh
按Ctrl-A然后按D將分離會話。要重新連接到會話,請使用以下命令:
screen -r my_session
對于tmux,過程類似。首先啟動一個新會話并運行腳本:
tmux new-session -s my_session
./my_script.sh
按Ctrl-B然后按D將分離會話。要重新連接到會話,請使用以下命令:
tmux attach-session -t my_session
通過使用這些方法,您可以確保在Linux中使用nohup命令運行的進程不會因意外終止而中斷。