linux - 异步管道

标签 linux bash

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

mkfifo one
mkfifo two
echo hi | tee one two &
cat one &
cat two &

cat one 直到 cat two 运行后才开始读取。有没有办法让 cat one 无需等待就可以运行?

最佳答案

问题:Fifos 阻塞直到打开读取。所以只需在它们上打开一个读取 FD:

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

关于linux - 异步管道,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2776994/

相关文章:

linux - Jess 在 Linux 和 macOS 上没有或找不到 FuzzyVariable 包

mysql - 如何查明 my.cnf 正在使用什么?

linux - 使用 sigprocmask 设置掩码仅取决于调用位置

Bash vi 模式 - 绑定(bind) "C-c"以退出插入模式

linux - 移动文件的脚本在 Perl 中不起作用

linux - 如何缩短 fasta 文件中的 header ?

xml - 解压 LAR 文件,编辑 manifest.xml 然后尝试导入 LAR 文件

linux - rsync 排除 `/index.php` 的模式,但不排除 `/dir/subdir/index.php` 的模式

bash - "Reading"ffmpeg录制过程中的屏幕

Python -c 开关