作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我试图从 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())。
请注意终止将以退出代码 0 离开。如果您想要其他退出代码,您可以使用 send_signal()
甚至 kill()
关于python - 如何使用 APScheduler 的 BackgroundScheduler() 停止/终止运行 python 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65204671/
我有一个在 Docker 上运行的 Django 应用程序。我正在尝试在运行 docker 容器时启动 APScheduler 调度程序。 我创建了一个调度程序,我只是向它添加了一个我称为 test1
我试图从 foo() 函数内部停止 while 循环执行。我试过 exit()/sys.exit 但没有成功。如何从函数内部完全停止程序的执行? from apscheduler.schedulers
我是一名优秀的程序员,十分优秀!