Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 当flask服务器退出时,线程仍在运行_Python_Multithreading_Flask - Fatal编程技术网

Python 当flask服务器退出时,线程仍在运行

Python 当flask服务器退出时,线程仍在运行,python,multithreading,flask,Python,Multithreading,Flask,正如标题所描述的,我在Flask中创建了一个单独的线程来执行长任务 import schedule import time start_time = time.time() def job(): print("I'm working..." + str(time.time() - start_time)) def run_schedule(): while True: schedule.run_pending() time.sleep(1

正如标题所描述的,我在
Flask
中创建了一个单独的线程来执行长任务

import schedule
import time

start_time = time.time()


def job():
    print("I'm working..." + str(time.time() - start_time))


def run_schedule():
    while True:
        schedule.run_pending()
        time.sleep(1)

当我按下
Ctrl+c
终止服务器时,线程仍然
打印
当服务器退出时,如何停止线程?

您可能希望将线程设置为

线程一直运行,直到它自己结束或被明确终止

守护进程线程以相同的条件运行,并且如果至少有一个其他非守护进程线程正在运行:这意味着如果结束主线程而没有其他线程在运行,则所有守护进程线程也将结束

如果您使用的是线程模块,则可以通过更改其布尔值将线程设置为daemonic:

import threading
your_thread.daemon = True

如果您使用的是线程模块,它应该是kwargs之一。您是否尝试过ctrl+z然后在“尝试除外”中添加代码,处理键盘中断,并在该事件中暂停/停止您的线程**ctrl+z**可以工作,但是否有其他方法,例如检查主线程是否处于活动状态。谢谢您的回答。