勵志

勵志人生知識庫

nohup用法

nohup命令用於在退出shell或終端後繼續運行進程,全稱為「no hang up」,意為「不掛起」。使用nohup命令時,可以在命令行中添加&符號將命令放到後台運行。

nohup命令的基本語法為:nohup COMMAND [ARGS...] [>output-file 2>error-file] &,其中:

COMMAND:需要在後台運行的命令或腳本

ARGS:命令或腳本的參數

output-file:將標準輸出重定向到指定的檔案

2>error-file:將錯誤信息重定向到指定的檔案。

使用nohup命令時,當前shell的標準輸入、標準輸出和標準錯誤輸出會被全部重定向到/dev/null設備中,避免因終端關閉而中斷。nohup命令將進程放到後台執行,並將進程的PID輸出到終端。即使用戶退出終端或關閉終端視窗,進程仍然在後台運行。

默認情況下,nohup命令將所有輸出重定向到當前目錄的nohup.out檔案中。如果當前工作目錄的nohup.out檔案不可寫,輸出會重定向到$HOME/nohup.out檔案中。如果沒有檔案能創建或打開用於追加,那麼指定的命令將不會調用。

例如,要在後台運行一個Bash腳本,並將標準輸出和標準錯誤輸出都重定向到不同的檔案中,可以使用命令:nohup bash test.sh > stdout.txt 2> stderr.txt &。