[Linux]背景執行py方法

2022/07/06 – 新增[Python] 背景執行nohup, & 與 nohup.out


主要介紹在linux下使用Terminal來背景執行python的幾種方式,
執行3隻python檔,每5秒、10秒、15秒各別顯示當前時間。

以下為python範例:
test.py、test2.py、test3.py這三隻同時使用背景來執行的畫面。

執行test.py後,會顯示跳出PID為25270。

# coding:utf-8
from datetime import datetime
from time import sleep

while(1):
    count = 1
    sleep(5)
    print(str(count) + " : " + str(datetime.now().strftime('%Y-%m-%d %H:%M:%S')))

如果想讓程式跑在背景,在結尾的地方加個&
python 背景執行指令如下:

python 程式碼名稱 &

再執行一隻test2.py,不會讓原本的test.py停住,仍在背景繼續執行,並且顯示test2.py新的PID。

# coding:utf-8
from datetime import datetime
from time import sleep

while(1):
    count = 2
    sleep(10)
    print(str(count) + " : " + str(datetime.now().strftime('%Y-%m-%d %H:%M:%S')))

再執行test3.py。

# coding:utf-8
from datetime import datetime
from time import sleep

while(1):
    count = 3
    sleep(15)
    print(str(count) + " : " + str(datetime.now().strftime('%Y-%m-%d %H:%M:%S')))

查詢背景運行的程式:

ps -ef

想停止某隻程式的話,輸入下方指令:

kill PID

下圖為停止第一支test.py的程式。


kill掉後原本的Terminal會出現已終止的程式名稱。

原本的test2.py和test3.py還會繼續執行。

發佈留言