在Python中从守护进程线程触发主线程中的异常
如何从Python中的守护进程线程触发运行阻塞代码的主线程中的异常 我有一个守护进程线程,它定期检查数据库中的记录,以指示其当前进程应该终止(即用户按下了“取消”按钮)。在我的主非守护进程线程中,我正在运行一个对外部进程的阻塞调用,我无法轻松修改该进程以正常终止。然而,当我手动触发一个键盘中断时,主线程可以优雅地处理一个正常的键盘中断在Python中从守护进程线程触发主线程中的异常,python,multithreading,python-multithreading,Python,Multithreading,Python Multithreading,如何从Python中的守护进程线程触发运行阻塞代码的主线程中的异常 我有一个守护进程线程,它定期检查数据库中的记录,以指示其当前进程应该终止(即用户按下了“取消”按钮)。在我的主非守护进程线程中,我正在运行一个对外部进程的阻塞调用,我无法轻松修改该进程以正常终止。然而,当我手动触发一个键盘中断时,主线程可以优雅地处理一个正常的键盘中断 因此,如果我的守护进程线程接收到终止命令,我如何在主线程中引发异常以终止进程?您可以使用该属性获取子进程返回代码。如果它与零不同,就提出它 编辑:我混淆了子流程和
因此,如果我的守护进程线程接收到终止命令,我如何在主线程中引发异常以终止进程?您可以使用该属性获取子进程返回代码。如果它与零不同,就提出它
编辑:我混淆了子流程和多处理模块。但是,多处理模块中有一个属性与子流程returncode属性类似。通常使用消息队列完成。 看
然而,它不会抢占您的主线程,您必须主动轮询它。也许有了信号,你就能得到你所需要的。在深入研究线程文档之后,我终于找到了解决方案。链接应该是:这是阻止Django编写代码的罕见解决方案。