簡體   English   中英

如何停止/終止 python 腳本與 APScheduler 的 BackgroundScheduler() 一起運行

[英]How to stop/terminate a python script from running with BackgroundScheduler() of APScheduler

我試圖從 foo() function 內部停止 while 循環執行。 我試過 exit() / sys.exit 沒有成功。 如何從 function 內部完全停止程序的執行?

from apscheduler.schedulers.background import BackgroundScheduler
from datetime import datetime, timedelta
import time
import sys

def foo(stop = False):
    print('Function foo executed')
    if stop: 
        sys.exit

scheduler = BackgroundScheduler() 
dd = datetime.now() + timedelta(seconds=10)
scheduler.add_job(foo, 'date', run_date=dd, args=[True])
scheduler.start()

while True:
    print('Inside the loop')
    time.sleep(2)

使用 psutil

import psutil

psutil.Process().terminate()

從文檔中, psutil.Process()如果省略了 PID,則使用當前進程 PID (os.getpid())。

請注意 terminate 將離開退出代碼 0。如果您想要其他退出代碼,您可以使用send_signal()甚至kill()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM