怎麼讓 Linux 程序在後臺執行?

語言: CN / TW / HK

1.命令簡介

nohup 的作用可以將程式以忽略掛起訊號(SIGHUP)的方式執行。常見的用法是和 & 命令一同使用,將命令放置到後臺執行,即使終端掛掉,程序會忽略掛起訊號,繼續執行。

將程式放到後臺執行,一般有兩種方式:

(1)command &:後臺執行,關掉終端會停止執行。

(2)nohup command & :後臺執行,關掉終端也會繼續執行。

注意:

(1)如果使用nohup執行程式未顯示進行標準輸出重定向,則標準輸出預設重定向當前工作目錄的 nohup.out 檔案中。如果當前工作目錄的 nohup.out 檔案不可寫,輸出重定向到 $HOME/nohup.out 檔案中。如果沒有檔案能建立或開啟用於追加,那麼 command 引數指定的命令不可呼叫。

(2)如果標準錯誤未顯示重定向,那麼標準錯誤預設重定向到與標準輸出相同的檔案。

2.命令格式

nohup COMMAND [ARGS]
nohup OPTION

3選項說明

--help
 顯示幫助資訊並退出
--version
 顯示版本資訊並退出

4.常用示例

(1)使用nohup 命令提交作業,那麼在預設情況下該作業的所有輸出都被重定向到一個名為nohup.out的檔案中,除非另外指定了輸出檔案。

nohup ./test.sh &

(2)標準輸出與標準錯誤輸出重定向。

nohup ./test.sh > test.log 2>&1 &

(3)指定輸出檔案, 輸出被重定向到output.txt檔案中

[[email protected] ~]$ nohup bash a.sh &> error.txt
[[email protected] ~]$ 

注意:

(1)2>&1 標識標準錯誤輸出重定向等同於標準輸出重定向,即標準錯誤輸出也重定向到檔案test.log;

(2)& 命令是命令放在後臺執行,需要放在命令的最後面。

原文連結:https://blog.csdn.net/K346K346/article/details/79985071

版權宣告:本文為CSDN博主「戀喵大鯉魚」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處連結及本宣告。

近期熱文推薦:

1.1,000+ 道 Java面試題及答案整理(2021最新版)

2.別在再滿屏的 if/ else 了,試試策略模式,真香!!

3.臥槽!Java 中的 xx ≠ null 是什麼新語法?

4.Spring Boot 2.5 重磅釋出,黑暗模式太炸了!

5.《Java開發手冊(嵩山版)》最新發布,速速下載!

覺得不錯,別忘了隨手點贊+轉發哦!