nohup
(no hang-up)命令在 Linux 中用于在用戶退出登錄后繼續運行指定的命令或程序。它可以使進程忽略掛起(SIGHUP)信號,從而在關閉終端或斷開連接后仍然保持運行。在使用 nohup
命令時,需要注意以下幾點:
nohup command &
command
:要運行的命令或程序。&
:將命令放入后臺運行。默認情況下,nohup
會將輸出重定向到當前目錄下的 nohup.out
文件。如果需要指定其他文件,可以使用:
nohup command > output.log 2>&1 &
>
:將標準輸出重定向到指定文件。2>&1
:將標準錯誤輸出重定向到標準輸出。&
:將命令放入后臺運行。nohup
默認會忽略 SIGHUP 信號,確保進程在用戶退出登錄后繼續運行。
使用 ps
命令可以查看 nohup
啟動的進程:
ps -ef | grep nohup
或者使用 pgrep
命令:
pgrep -af nohup
如果需要終止 nohup
啟動的進程,可以使用 kill
命令:
kill -9 <PID>
<PID>
:進程的進程 ID。nohup
的場景nohup.out
或其他日志文件,避免磁盤空間被占滿。假設你想在后臺運行一個 Python 腳本,并且希望輸出重定向到一個特定的日志文件:
nohup python my_script.py > my_script.log 2>&1 &
通過以上注意事項和示例,你可以更有效地使用 nohup
命令來管理后臺進程。