nohup後台執行 關閉後台程式

2021-09-24 00:10:57 字數 1279 閱讀 5810

參考

在跑時間比較長的程式,或者列印資訊比較多,或者網路不穩定時,可以採用後台執行程式,然後把列印資訊儲存在檔案中,等程式結束後再檢查日誌,完成該功能可以用以下命令

1.nohup python3 -u test.py >test.log 2>&1 &

2.回車

3.輸入exit命令退出終端

4.關閉shell

注意:不能直接退出終端

其中,1. 最後乙個「&」表示後台執行程式

2. 「nohup」 表示程式不被掛起

3. 「python」表示執行python**

4. 「-u」表示不啟用快取,實時輸出列印資訊到日誌檔案(如果不加-u,則會導致日誌檔案不會實時重新整理**中的print函式的資訊)

5. 「test.py」表示python的源**檔案

6. 「test.log」表示輸出的日誌檔案

7. 「>」表示將列印資訊重定向到日誌檔案

8. 「2>&1」表示將標準錯誤輸出轉變化標準輸出,可以將錯誤資訊也輸出到日誌檔案中(0-> stdin, 1->stdout, 2->stderr)

檢視後台執行程式及關閉參考博文

有兩個命令可以用,jobs和ps,區別是jobs用於檢視當前終端後台執行的任務,換了終端就看不到了。而ps命令用於檢視瞬間程序的動態,可以看到別的終端執行的後台程序。

檢視後台應用

(1)jobs命令

功能:檢視當前終端後台執行的任務

jobs -l選項可顯示當前終端所有任務的pid,jobs的狀態可以是running,stopped,terminated。+ 號表示當前任務,- 號表示後乙個任務。

(2)ps命令

功能:檢視當前的所有程序

ps -aux | grep "test.sh"    #a:顯示所有程式  u:以使用者為主的格式來顯示   x:顯示所有程式,不以終端機來區分

關閉當前後台執行的命令

kill命令:結束程序

(1)通過jobs命令檢視jobnum,然後執行   kill %jobnum

(2)通過ps命令檢視程序號pid,然後執行  kill %pid

如果是前台程序的話,直接執行 ctrl+c 就可以終止了

nohup程式後台執行

linux常用命令,用於不結束通話的執行程式。nohup命令 如果你正在執行乙個程序,而且你覺得在退出帳戶時該程序還不會結束,那麼可以使用nohup命令。該命令可以在你退出帳戶 關閉終端之後繼續執行相應的程序。nohup就是不掛起的意思 no hang up nohup command arg 如果...

nohup後台執行程式

1 bin bash 2 ulimit s 2621400 3 ulimit c 2048000 4 sleep25 killall 9 ljyx sghall new 6 sleep 27 trap 12 3248 nohup ljyx sghall new ljyx sghall new.log...

nohup後台執行程式

問題描述 開啟終端,使用nohup後台啟動服務之後,只要關掉終端,服務就down了 期望結果 關掉終端後,服務依然後台保持執行 技術分析 unix linux下一般想讓某個程式在後台執行,很多都是使用 在程式結尾來讓程式自動執行 但如果要想在退出終端後,程式依然還在後台執行,則要用nohup與 組合...