matt.baker Asked: 2018-02-14 07:07:00 +0800 CST2018-02-14 07:07:00 +0800 CST 2018-02-14 07:07:00 +0800 CST 有哪些方法可以将标准输出捕获到读取时自动清除的缓冲区中? 772 我想将进程中的标准输出存储到缓冲区中,并在读取后清空缓冲区,FIFO 样式。 我知道我可以通过管道传输标准输出,但管道/文件将继续增长并包含我已经读取的数据。我只想要新鲜的数据。 command > named_pipe & 是否有任何其他内置方法,类似于网络套接字中的缓冲区,我可以将数据重定向到? pipe fifo 1 个回答 Voted Best Answer Andy Dalton 2018-02-14T07:33:18+08:002018-02-14T07:33:18+08:00 我不明白命名管道如何不能解决您的问题。此示例使用两个 shell 接口,shell_1并且shell_2. 我将 I/O 缩进 / 缩进shell_2多于 of 的缩进,shell_1以尝试区分从哪个 shell 发生的 I/O。 $ mkfifo my_pipe (shell_1) $ echo hi > my_pipe # Blocks waiting for a reader (shell_2) $ cat my_pipe # Unblocks shell_1 hi (shell_2) $ cat my_pipe # blocks -- does not print "hi" again (shell_1) $ echo bye > my_pipe # Unblocks shell_2 bye # Printed by shell_2
我不明白命名管道如何不能解决您的问题。此示例使用两个 shell 接口,
shell_1
并且shell_2
. 我将 I/O 缩进 / 缩进shell_2
多于 of 的缩进,shell_1
以尝试区分从哪个 shell 发生的 I/O。