我有一个在 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/

10-12 16:37
查看更多