nohup
(no hang-up)命令用于在Linux和Unix系統中運行一個進程,使其在用戶退出登錄后繼續運行。這對于需要長時間運行的進程或守護進程非常有用。要使用nohup
命令實現進程守護,請按照以下步驟操作:
打開終端。
輸入nohup
命令,后跟要執行的命令及其參數。例如,如果要運行名為my_script.sh
的腳本,可以使用以下命令:
nohup ./my_script.sh &
這里的&
符號表示將進程放入后臺運行。
nohup
命令會將輸出重定向到一個名為nohup.out
的文件中。如果你想將輸出重定向到其他文件,可以使用以下命令:nohup ./my_script.sh > output.log 2>&1 &
這里,>
表示將標準輸出重定向到output.log
文件,2>&1
表示將標準錯誤輸出重定向到標準輸出(即output.log
文件),最后的&
符號表示將進程放入后臺運行。
按下回車鍵執行命令。此時,即使你關閉終端或注銷登錄,進程也會繼續運行。
若要檢查進程的輸出,可以查看nohup.out
文件(或你指定的其他輸出文件):
cat nohup.out
ps
命令找到進程ID(PID),然后使用kill
命令終止進程:ps -ef | grep my_script.sh
kill [PID]
將[PID]
替換為實際的進程ID。
通過以上步驟,你可以使用nohup
命令實現進程守護。