在Linux中,nohup
(no hang-up)命令用于在用戶退出登錄后繼續運行指定的進程。即使關閉終端或斷開SSH連接,使用nohup
啟動的進程也不會被終止。以下是如何使用nohup
命令的詳細步驟和示例:
nohup command [arguments] &
command
:要運行的命令。[arguments]
:傳遞給命令的參數。&
:將命令放入后臺運行。打開終端: 打開你的Linux終端。
使用nohup
命令:
在終端中輸入nohup
命令,后面跟上你想要運行的命令及其參數,最后加上&
符號將命令放入后臺運行。
例如,如果你想運行一個名為my_script.sh
的腳本,可以這樣做:
nohup ./my_script.sh &
重定向輸出:
默認情況下,nohup
會將命令的輸出重定向到一個名為nohup.out
的文件中。如果你想將輸出重定向到其他文件,可以使用>
或>>
操作符。
例如,將輸出重定向到output.log
文件:
nohup ./my_script.sh > output.log 2>&1 &
這里,2>&1
表示將標準錯誤(stderr)重定向到標準輸出(stdout),然后再將標準輸出重定向到output.log
文件。
查看進程狀態:
你可以使用ps
命令來查看使用nohup
啟動的進程。
ps aux | grep my_script.sh
終止進程:
如果你需要終止使用nohup
啟動的進程,可以使用kill
命令。首先找到進程的PID(進程ID),然后使用kill
命令終止它。
kill -9 <PID>
其中,<PID>
是進程的ID。
假設你有一個名為server.sh
的腳本,你想在后臺運行它,并且希望即使關閉終端,它也能繼續運行。你可以這樣做:
nohup ./server.sh > server_output.log 2>&1 &
這樣,server.sh
腳本會在后臺運行,并且其輸出會被記錄到server_output.log
文件中。
通過這些步驟,你可以確保在Linux中使用nohup
命令啟動的進程在用戶退出登錄后仍然繼續運行。