如何使用在后端执行的长时间运行的 C/C++ 代码杀死 python 解释器?
Posted
技术标签:
【中文标题】如何使用在后端执行的长时间运行的 C/C++ 代码杀死 python 解释器?【英文标题】:How to kill python interpreter with long running C/C++ code executed in the backend? 【发布时间】:2017-04-01 00:18:02 【问题描述】:在 python documentation 中,似乎从 python 端发送的信号无法杀死长时间运行的 C/C++ 进程:
纯粹在 C 中实现的长时间运行的计算(例如对大量文本进行正则表达式匹配)可以在任意时间内不间断地运行,而不管接收到任何信号。计算完成时将调用 Python 信号处理程序。
有解决办法吗?我可以在 C/C++ 端实现一些东西(即回调函数?)来捕获键盘中断吗?
非常感谢您的帮助!
【问题讨论】:
【参考方案1】:找到了解决方法here,似乎将长时间运行的 CPython 程序设置为守护线程是处理它的一种方法。
【讨论】:
以上是关于如何使用在后端执行的长时间运行的 C/C++ 代码杀死 python 解释器?的主要内容,如果未能解决你的问题,请参考以下文章