我在尋找一種簡單的將消息從一個進程(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);
如何解決和/或在何處這一念起來,將不勝感激任何指針!
爲什麼你不直接在shell中使用OS管道? `python somescript.py | perl otherscript.pl`應該可以很好地工作。沒有插座。 – 2011-02-09 20:35:30
通過POSIX-MQ風格的消息發送還是可以用套接字解決? – Xailor 2011-02-09 20:50:30
Python腳本是一個長期運行的過程,並且管道消息只能在一次性基礎上工作(我認爲 - 您不能管道化到現有流程,您可以嗎?)。爲了構成一個愚蠢的例子,想象一下`Listener`是一個顯示傳入消息的桌面小部件(有點像`tail -f mylog`)。 – AnC 2011-02-09 20:50:49