Именованные трубы являются стандартным методом. В Python:
import os
os.mkfifo('/some/path')
# Reading process
with open('/some/path') as pipe:
for line in pipe:
# Do what you need
# Writing process
with open('/some/path', 'w') as pipe:
while True: # Whatever looping process you have
pipe.write('<data>' + '\n')
Обратите внимание, что в современных системах скорость передачи 70-80 сообщений в минуту не так высока, TCP все еще является жизнеспособным вариантом. Также будьте осторожны, чтобы ни одна строка не превышала размер буфера канала (обычно 64 КБ).
Основываясь на предложениях в комментариях, я также добавил пример доменных сокетов UNIX, которые более полезны, если вам нужна двунаправленная связь.
# Server Side
import socket
sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
sock.bind("/some/path")
sock.listen(1)
conn, addr = sock.accept()
while True:
data = conn.recv(1024)
if not data:
break
# Let's echo it back as an example
conn.send(data)
conn.close()
# Client Side
import socket
sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
sock.connect("/some/path")
while True: # Your sending loop
# In this case we send hello world, and print what we get back.
sock.send('Hello, world')
data = sock.recv(1024)
print data
sock.close()