Linux下如何後台執行Python程式

2021-10-03 04:35:07 字數 1859 閱讀 4154

問題描述:

鏈結伺服器後,想在伺服器上執行乙個耗時特別長的程式;

問題是一旦會話結束,程式也就結束了,之前完成工作進度前功盡棄!!!

解決方案:使用nohup命令掛起服務。 啟動命令為:

nohup python3 -u job.py > job_out.out 2>&1 &
典型範例:

例如:我要後台執行mytest.py指令碼程式。

1、啟動命令:

[root@localhost test]

# nohup python3 -u mytest.py > mytest_out.out 2>&1 &

[4] 22246 # 表示程序號

闡釋說明:

末尾的「&」:表示後台執行程式

nohup」 :保證程式不被掛起

python3」:是執行python**的命令(此處指定python版本為python3)

-u」:是為了禁止快取,讓結果可以直接進入日誌檔案 mytest_out.out(如果不加-u,則會導致日誌檔案不會實時重新整理**中的print函式的資訊)

job.py」:是欲執行的python的源**檔案,此處為mytest.py

job_out.out」:是輸出的日誌檔案

>」:是指將列印資訊指定到日誌檔案

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

2、檢視指令碼是否已在後台執行:

(1) 使用jobs命令,具體如下:

[root@localhost test]

# jobs

[4]+ running nohup python3 -u mytest.py > mytest_out.out 2>&1 &

(2) 使用ps -ef|grep python或者ps -ef|grep job命令,檢視程序

# ps -ef|grep python

或者# ps -ef|grep job

(3) 使用ps aux命令,檢視程式的程序號

[root@localhost test]

# ps aux

user pid %cpu %mem vsz rss tty stat start time command

…… root 22246 0.0 0.3 125572 6304 pts/0 s 17:29 0:00 python3 -u mytest.py

……

3、關閉程序: 使用kill -9 程序號命令,關閉指定程序號的程式。

[root@localhost test]

# kill -9 22246

備註:使用 2(2) 中檢視程序的命令,檢查或確認程序是否真正被關閉。

linux下後台執行MATLAB

後台執行matlab指令碼檔案的方法 nohup 實現功能 1.字元環境下執行matlab.2.字元環境下執行matlab指令碼檔案,指令碼檔案無影象的螢幕輸出。3.指令碼檔案需長時間執行,執行結果輸出到檔案。matlab的標準重定向到另乙個檔案。4.客戶端退出登陸後,matlab保持執行,直到指令...

linux如何執行後台程序

linux直接執行乙個過程。電流指令結束後。或者關閉掉shell形成過程將結束。如何在後台執行的處理 辦法1採用nohup命令,nohup命令本身的意思no hung up他說,他們將不會收到shell關閉,封閉該過程。使用nohup command 使得命令能夠在後台執行。通過job l能夠看到後...

linux下後台執行了php檔案之後如何進行終止

1 第一種方式 檢視正在執行的程序 ps ef grep serve.php ps 將某個程序顯示出來 a 顯示所有程式。e 此引數的效果和指定 a 引數相同。f 顯示 uid,ppip,c 與stime 字段。grep命令是查詢 關閉程序 kill 引數 程序號 kill 9 4394 kill ...