3

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

提前致谢。

4

1 回答 1

2

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

于 2011-01-27T12:56:29.940 回答