nohup
是一個Linux命令,它允許用戶在后臺運行程序,即使關閉終端后程序也能繼續(xù)運行。nohup
是“no hang up”的縮寫,意為“不掛斷”。
當你在終端中運行一個命令時,如果關閉了終端,那么該命令通常會停止運行。但是,如果你使用nohup
命令來運行程序,即使關閉了終端,程序也會繼續(xù)運行。這對于需要長時間運行的后臺任務非常有用,例如服務器程序或數(shù)據(jù)處理任務。
nohup
命令會將程序的輸出重定向到一個名為nohup.out
的文件中,除非你指定了其他的輸出文件。你也可以通過在nohup
命令后添加>
符號來指定輸出文件。例如:
nohup python my_script.py > output.log 2>&1 &
這個命令會在后臺運行my_script.py
程序,并將標準輸出和標準錯誤重定向到output.log
文件中。2>&1
表示將標準錯誤重定向到標準輸出,&
表示在后臺運行命令。
需要注意的是,nohup
命令并不能忽略所有的信號,例如SIGTERM
信號。如果你需要讓程序在接收到特定信號時優(yōu)雅地關閉,你可能需要使用其他工具,如systemd
或supervisord
。