nohup(no hang-up的縮寫)是一個在Linux和Unix系統中常用的命令,用于在用戶退出系統或關閉終端后繼續運行指定的命令或程序。這對于需要在后臺長時間運行的任務非常有用,因為它們不會受到終端會話斷開的影響。
nohup命令的基本語法如下:
nohup [選項] 命令 [參數...]
以下是一些常用的nohup命令行參數:
-h 或 --help:顯示幫助信息。-V 或 --version:顯示版本信息。-c 或 --no-ctty:不分配一個偽終端(pty)。這在運行不需要交互的命令時很有用。-d 或 --detach:在啟動命令后立即分離(后臺運行)。-m 或 --monitor:監控子進程的狀態。當子進程退出時,將發送SIGHUP信號給它。-p 或 --preserve-environment:保留當前用戶的環境變量。-s 或 --signal:指定一個信號來終止子進程。默認值為SIGHUP。使用nohup命令時,通常會將輸出重定向到一個文件,以防止輸出到終端。例如:
nohup your_command > output.log 2>&1 &
這里,your_command是你想要運行的命令,output.log是一個文件,用于存儲命令的輸出。2>&1表示將標準錯誤(2)重定向到標準輸出(1),&表示在后臺運行命令。
總之,nohup命令允許你在退出系統或關閉終端后繼續運行命令,而不會受到掛起的影響。通過使用不同的選項,你可以根據需要定制命令的行為。