我正在寻找一种简单的方法将消息从一个进程(Perl脚本,短命)传递到另一个进程(Python脚本,长时间运行) - 这两个进程都是同一台机器的本地进程.我做了一些研究,但我发现的要么是在我头上还是看起来不必要的复杂 - 让我有点迷茫和迷茫.
我想象一个大致如下的最小例子:
# listener.py
class Listener:
def __init__(self, port)
self.port = port
def on_message(self, msg):
print "%s: %s" % (timestamp, msg)
recipient = Listener(1234)
# sender.pl
sub send_message {
my ($msg, $port) = @_;
# ...
}
send_message("hello world", 1234);
Run Code Online (Sandbox Code Playgroud)
任何有关如何解决和/或在何处阅读的指示将不胜感激!
fra*_*nkc 20
事实证明,进程间通信虽然表面上很简单,但实际上却充满了复杂性.无论任何人在简单的答案方面告诉你什么,请记住,可能有很多警告没有说明.
现在有了免责声明,我声称你可能想要的是消息队列.这是基于您在示例api中未包含IP地址的事实.如果你需要穿越机器,你会需要套接字.但是,如果您能够处理这个仅用于与同一台机器上的进程通信的事实,我认为您会发现消息队列更容易理解.
perl的一个很好的起点是:http:
//perldoc.perl.org/IPC/Msg.html
对于python,这似乎解释了(忽略其他类型的ipc像信号量):http:
//semanchuk.com/philip/sysv_ipc/