Linux nohup命令和後台執行符 的使用

2021-10-09 14:47:12 字數 1657 閱讀 6638

作用:當你在終端執行命令指令碼,當指令碼沒有執行完,如果你關閉終端,那麼跟隨這個終端有關的程序都會退出執行,nohup 命令的作用就是讓使用此命令的指令碼可以脫離終端繼續執行,不受終端退出的影響。

命令

nohup bash shell_script.sh

nohup ./shell_script.sh

示例指令碼:shell_script.sh

列印1-20的整數,列印時間間隔為1s

#!

/bin/bash

for t in

do sleep 1

echo $t

done

執行:

使用nohup命令執行指令碼後你會發現,此時終端處於不可互動狀態(不能輸入命令),要等待指令碼執行完才會切換為可互動。此時終端不會有列印,列印被追加重定向到指令碼所在目錄的nohup.out中去了(如果在此目錄下使用nohup命令執行多個指令碼,則nohup.out打屏日誌會出現重疊,建議相同目錄執行多個指令碼的時候自己重定向,之後可以關閉終端,檢視打屏輸出可以另外開啟終端執行:tail -f nohup.out)。在此時終端ctrl+c,可停止程序,如果關閉終端,則此指令碼會繼續執行直至結束。

關閉終端後執行結果的輸出:指令碼執行完畢

在同乙個目錄使用nohup執行多個指令碼:nohup.out輸出重疊

作用:在終端執行命令時,以後臺程序來執行指令碼或者命令,不會影響你接下去的命令輸入執行

命令

bash shell_script.sh &

./shell_script.sh &

示例指令碼:shell_script2.sh

#!

/bin/bash

for t in

do sleep 1

echo $t

done > result.txt

執行:

可以看到在執行命令:bash shell_script2.sh & 後終端還是可以互動輸入的。並沒有等到指令碼執行完才能輸入。返回的4480是後台執行指令碼的程序號。終止此程序可以使用kill -9 4480 如果你在後台4480程序沒有執行完前關閉此終端,則此程序會結束。這個就是和nohup命令不同的地方。

在實際使用的過程中兩個集合使用更加方便: nohup bash shell_script.sh &

當你在使用xshell 或者mobaxterm等終端模擬軟體開啟多個終端執行命令的時候就可以使用上述的命令,這樣就不會有n個視窗開啟著掛載著任務了,眼不見心不煩

linux nohup命令後台執行

1.nohup 用途 不結束通話地執行命令。語法 nohup command arg 無論是否將 nohup 命令的輸出重定向到終端,輸出都將附加到當前目錄的 nohup.out 檔案中。如果當前目錄的 nohup.out 檔案不可寫,輸出重定向到 home nohup.out 檔案中。如果沒有檔案...

Linux nohup後台命令基礎詳解

因為經常使用xshell進行伺服器 的執行,但是每次到關機後,或者是關掉xshell連線視窗,在伺服器上的命令,操作也就斷掉了。這不得不找到了乙個linux命令 nohup nohup command arg 拿python test.py為例子 一般我們執行命令是直接 python test.py...

linux nohup後台執行

先說一下linux重定向 0 1和2分別表示標準輸入 標準輸出和標準錯誤資訊輸出,可以用來指定需要重定向的標準輸入或輸出。在一般使用時,預設的是標準輸出,既1.當我們需要特殊用途時,可以使用其他標號。例如,將某個程式的錯誤資訊輸出到log檔案中 program 2 log。這樣標準輸出還是在螢幕上,...