我正试图从foo((函数内部停止while循环执行。我尝试过exit((/sys.exit,但没有成功。如何从函数内部完全停止程序的执行?
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()