异步开管

时间:2010-05-05 21:41:20

标签: linux bash

我想将相同的信息写入两个管道,但我不想等待第一个管道读取。这是一个例子

mkfifo one
mkfifo two
echo hi | tee one two &
cat one &
cat two &
cat one运行之前,

cat two才开始阅读。有没有办法让cat one无需等待即可运行?

2 个答案:

答案 0 :(得分:1)

问题:Fifos 阻止,直到打开阅读。所以只需在它们上面打开一个FD:

mkfifo one two
echo hi | tee one two &
exec 3<one
exec 4<two
cat <&3
cat <&4

答案 1 :(得分:0)

echo hi | tee one | tee two &