nohup
命令用于在后臺運行程序,即使用戶退出登錄或關閉終端,程序也會繼續運行。&
符號用于將命令放入后臺執行。結合使用 nohup
和 &
可以確保程序在后臺穩定運行,并且不受終端會話的影響。
以下是一些使用 nohup
和 &
的技巧:
nohup your_command &
your_command
是你想要在后臺運行的命令。&
將命令放入后臺執行。nohup
確保即使終端關閉,命令也會繼續運行。默認情況下,nohup
會將標準輸出和標準錯誤輸出重定向到一個名為 nohup.out
的文件中。你可以自定義輸出文件的位置和名稱:
nohup your_command > output.log 2>&1 &
>
將標準輸出重定向到 output.log
。2>&1
將標準錯誤輸出重定向到標準輸出(即 output.log
)。有時你可能希望程序忽略掛起信號(如 SIGHUP
),可以使用 -s
選項:
nohup -s your_command &
你可以將多個命令組合在一起,用分號 ;
或邏輯運算符 &&
和 ||
連接:
nohup (command1; command2) &
或者:
nohup command1 && command2 &
你可以使用 jobs
命令查看當前終端的后臺進程:
jobs
或者使用 ps
命令查看所有后臺進程:
ps aux | grep your_command
如果你需要終止一個后臺進程,可以使用 kill
命令:
kill -9 <PID>
其中 <PID>
是進程的進程ID。
假設你想在后臺運行一個 Python 腳本,并將輸出重定向到一個文件:
nohup python3 my_script.py > my_script_output.log 2>&1 &
通過這些技巧,你可以更有效地使用 nohup
和 &
來管理后臺進程。