如果在DLL中的代码死锁时,如何确保python程序可以通过Ctrl-C或类似机制中断?
答案 0 :(得分:1)
不确定这是否正是您所要求的,但在尝试中断(通过Ctrl-C)多线程python进程时会出现问题。这是一个关于python Global Interpreter Lock的讨论视频,该视频还讨论了这个问题:
答案 1 :(得分:0)
您可能需要查看this mailing list以获取其他一些建议,但没有任何确凿的答案。
我多次遇到过这个问题,至少可以确认在Haskell中使用FFI时会发生这种情况。我本来可以发誓,我曾经在Haskell的FFI文档中看到过一些内容,提到DLL不会从ctrl-c信号返回,但我找不到该文档的运气。
你可以尝试using ctrl-break,但是这并不能解决Haskell中的DLL问题,而且我怀疑它是否适用于Python。
<小时/> 更新:在无限循环中调用DLL函数期间,当ctrl-c没有时,ctrl-break在Python中对我有用。