我有一个在 Linux 系统上运行的 Python 守护进程。
我想提供诸如“Bob”、“Alice”等信息,并让守护进程打印“Hello Bob”。和“你好爱丽丝”到一个文件。
这必须是异步的。 Python 守护进程必须等待信息并在收到信息时打印它。
实现这一目标的最佳方法是什么?
我在考虑命名管道或 Queue
库,但可能有更好的解决方案。
最佳答案
以下是使用fifo的方法:
# receiver.py
import os
import sys
import atexit
# Set up the FIFO
thefifo = 'comms.fifo'
os.mkfifo(thefifo)
# Make sure to clean up after ourselves
def cleanup():
os.remove(thefifo)
atexit.register(cleanup)
# Go into reading loop
while True:
with open(thefifo, 'r') as fifo:
for line in fifo:
print "Hello", line.strip()
您可以在 shell session 中像这样使用它
$ python receiver.py &
$ echo "Alice" >> comms.fifo
Hello Alice
$ echo "Bob" >> comms.fifo
Hello Bob
关于python - 如何向 Python 守护进程提供信息?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29127341/