繁体   English   中英

无法在线程中杀死 Python 脚本

[英]Cannot kill Python script in thread

我正在使用 IDLE 使用线程和 Flask 在 python 中编写初学者脚本。

当我按ctrl+c退出或在 IDLE 中单击“停止”时,脚本仍继续在后台运行。

我的代码有什么问题?

from flask import Flask, render_template
import datetime
import threading
import time
xa=0
def f1():
   i=1
   while(1):
      global xa
      xa=xa+1
      print(xa, "in f1")
      time.sleep(3)

t1=threading.Thread(target=f1)
t1.start()

app = Flask(name)
@app.route("/")
def hello():
   now = datetime.datetime.now()
   timeString = now.strftime("%Y-%m-%d %H:%M")
   templateData = {
      'title' : xa,
      'time': timeString
      }
   return render_template('index.html', **templateData)
if name == "main":
   app.run(host='0.0.0.0', port=5000, debug=True, threaded=True)

我需要在后台运行一个应用程序并在每次用户想要答案时做一项工作,在浏览器中查看答案我该如何处理线程和烧瓶?

请尝试以下操作:

t1=threading.Thread(target=f1)
t1.daemon = True
t1.start()

如果你不让你的线程成为守护线程,它会继续运行,即使你杀死主线程,所以当你尝试ctrl+c时你的程序不会退出。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM