nohup
(no hang-up的縮寫)是一個在Linux和Unix系統中常用的命令,用于在后臺運行程序,使其在用戶退出登錄或關閉終端后仍然繼續運行。這對于長時間運行的任務或需要持續運行的服務非常有用。
nohup
命令的工作原理如下:
當你使用nohup
命令啟動一個程序時,它會忽略所有掛起(SIGHUP)信號。這意味著即使你關閉終端或斷開與服務器的連接,程序也會繼續運行。
nohup
命令會將程序的輸出重定向到一個名為nohup.out
的文件中,除非你指定了其他輸出文件。這樣,你可以隨時查看程序的輸出,而不用擔心丟失信息。
如果你想在后臺運行程序并使其在退出登錄后繼續運行,可以使用&
符號將程序放入后臺。例如:nohup your_command &
。
你還可以使用disown
命令將已啟動的后臺進程從當前shell會話中分離,使其在退出登錄后仍然繼續運行。
一個典型的nohup
命令示例:
nohup your_command > output.log 2>&1 &
在這個示例中,your_command
是你想要運行的程序。>
符號將標準輸出重定向到output.log
文件,2>&1
表示將標準錯誤輸出重定向到標準輸出(即output.log
文件)。最后的&
符號將程序放入后臺運行。