gpt4 book ai didi

Linux 将标准输出重定向到实时管道

转载 作者:太空狗 更新时间:2023-10-29 12:43:14 24 4
gpt4 key购买 nike

我需要了解我必须使用什么类型的队列来接收命令的标准输出而不是存储它(如果没有人在同一个队列上读取内容会立即丢失)。

在同一个队列上,我可以“附加”另一个读取实时内容并使用它的命令。

我已经查看了 fifo,但它似乎一直在存储内容,直到有人读取为止。

感谢大家

最佳答案

解决此问题的一种简单方法是使用 tee 作为拆分器/缓冲区。您可以使用 mkfifo 创建一个 FIFO,然后将您的程序输出到这个 FIFO。当您需要将应用程序连接到输出时,创建一个新的 FIFO 并让 tee 从第一个 FIFO 读取并输出到第二个 FIFO。这样,如果您需要将第二个应用程序连接到输出,您可以使用第二个 FIFO。

我想如果您先取消链接,您可以重复使用相同的 FIFO 名称。已经运行的进程将保留其句柄,即使它不再存在也是如此。

mkfifo fifo
app > fifo &

mkfifo fifo2
tee fifo2 | rapp1 < fifo &

mkfifo fifo3
tee fifo3 | rapp2 < fifo2 &

# etc.

关于Linux 将标准输出重定向到实时管道,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34815258/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com