我想知道Python解释器在我的生产环境中所做的事情。
不久前,我编写了一个名为活迹的简单工具,它运行一个守护进程线程,每N毫秒收集一次堆栈跟踪。
但是解释器本身的信号处理有一个缺点:
虽然Python信号处理程序就Python用户而言是异步调用的,但它们只能发生在Python解释器的“原子”指令之间。这意味着在纯用C实现的长计算期间到达的信号(例如,大型文本体上的正则表达式匹配)可能会被延迟任意时间。
来源:https://docs.python.org/2/library/signal.html
我如何绕过上述约束并获得堆栈跟踪,即使解释器在某些C代码中运行了几秒钟?
https://stackoverflow.com/questions/49030629
复制相似问题