在Linux中,nohup
(no hang-up)命令允許您在關閉終端或斷開SSH連接后繼續運行進程。這對于確保長時間運行的任務不會因為網絡問題或終端會話結束而中斷非常有用。以下是如何使用nohup
命令實現遠程進程控制的步驟:
nohup
運行命令基本語法如下:
nohup command &
command
是您要運行的命令。&
將命令放入后臺運行。例如,如果您想運行一個名為 my_script.sh
的腳本,可以這樣做:
nohup ./my_script.sh &
默認情況下,nohup
會將輸出重定向到一個名為 nohup.out
的文件中。您可以使用以下命令查看輸出:
tail -f nohup.out
tail -f
命令會實時顯示文件的最新內容。如果您想將輸出重定向到其他文件,可以這樣做:
nohup command > output.log 2>&1 &
>
將標準輸出重定向到 output.log
。2>&1
將標準錯誤重定向到標準輸出,這樣標準錯誤也會寫入 output.log
。您可以使用 ps
命令檢查進程是否仍在運行:
ps aux | grep command
command
是您要查找的命令名稱。如果您需要終止進程,可以使用 kill
命令:
kill -9 PID
PID
是進程的進程ID。假設您有一個名為 long_running_task.sh
的腳本,您想使用 nohup
在后臺運行它,并將輸出重定向到 task_output.log
文件中:
nohup ./long_running_task.sh > task_output.log 2>&1 &
然后,您可以隨時查看輸出文件:
tail -f task_output.log
通過這些步驟,您可以在Linux中使用 nohup
命令實現遠程進程控制,確保您的任務在關閉終端或斷開SSH連接后繼續運行。