nohup 命令用于在后臺運行程序,使其不受掛起(SIGHUP)信號的影響。而 disown 命令用于從當前 shell 的作業表中移除一個或多個作業,使它們不再受到 shell 的控制。
要配合使用 nohup 和 disown 命令,可以按照以下步驟操作:
nohup 命令在后臺運行程序,并將輸出重定向到一個文件。例如,運行名為 my_script.sh 的腳本:nohup ./my_script.sh > output.log 2>&1 &
這將在后臺運行 my_script.sh,并將標準輸出和標準錯誤輸出重定向到 output.log 文件。& 符號表示將進程放入后臺運行。
jobs 命令查看當前 shell 的作業表:jobs
這將顯示當前 shell 中的所有后臺作業及其作業編號。
disown 命令將作業從作業表中移除。例如,如果要移除作業編號為 1 的作業,可以執行:disown %1
或者,如果要移除所有后臺作業,可以使用:
disown -a
現在,即使關閉終端或注銷,這些作業也會繼續在后臺運行,不受掛起信號的影響。