我已经使用 Pyro 3 有一段时间了,取得了巨大的成功,但偶尔我注意到,当 Pyro 进行一些远程通信时收到诸如 SIGHUP 或 SIGINT 之类的信号时,进程会挂起,因此问题是 Pyro信号安全吗?

提前致谢。

最佳答案

似乎这里的问题是默认情况下 Python 为引发异常的 SIGINT 和 SIGTERM 设置了一个处理程序。如果您因此在执行一些 Pyro 通信时收到信号,则会引发异常,然后它会去寻找适当的 except 子句,而不是完成它正在做的事情,如果您然后再次尝试使用 Pyro,例如在 except/finally 子句,你可能会遇到问题。在我的情况下,它通过队列将一些消息从 finally 发送到日志,该队列使用 Pyro 代理到另一个进程。

关于python - Pyro 信号安全吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4793234/

10-12 18:21