无法杀死线程中的Python脚本

时间:2019-07-04 13:06:05

标签: python

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

当我使用 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)

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

1 个答案:

答案 0 :(得分:0)

尝试以下操作:

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

如果您不将线程设为守护程序线程,即使您杀死主线程,它也将继续运行,因此,当您尝试 ctrl + c 时,程序不会退出。 / p>