我有两个python程序,我想与他们交流。
它们都是系统服务,并且它们都不是父进程派生的。

有没有不使用套接字的方法吗?
(例如,创建一些Queue->序列化->由其他进程反序列化并执行通信;或在要执行通信的文件上写入进程ID,然后创建获取进程ID并向该进程发送一些消息的魔术结构... )

该解决方案应在Linux和Windows上运行。

最佳答案

最好的选择是ZeroMQ,它是为IPC设计的,并且在IPC上非常快(还支持TCP/多播消息传递)。 Python绑定(bind)非常好,并且易于使用。此处对Python的ZeroMQ进行了很好的介绍:http://nichol.as/zeromq-an-introduction。如果您打算将此扩展到多台机器上,那么AMQP(这是一个消息队列协议(protocol))将是一个不错的选择,有很多很棒的库可用于AMQP for python。我真的很喜欢kombucelery。您还可以考虑使用twisted,它为您提供了相当疯狂的通信选项,并提供了一个不错的启动事件循环。

关于python - 如何通信两个单独的python进程?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5952408/

10-12 21:53
查看更多