用命名管道连接进程

创建 FIFO,让互不相关的进程交换数据流。

macOSBash 脚本自动化Shell脚本低风险
运行 mkfifo /tmp/p.pipe 创建管道,一个进程写、另一个进程读。

01命令

命令
$ mkfifo /tmp/demo.pipe; (printf 'hello\n' > /tmp/demo.pipe &); cat /tmp/demo.pipe

02作用说明

命名管道以文件形式出现,但像匿名管道一样传输数据流,因此无法用 | 连接的进程也能通信。shell 自动化中常用它分发数据、协调任务,以及在只接受文件名的工具之间流式传输。

03风险

风险低风险
使用条件macOS default zsh/bash (bash 3.2+; some features need bash 4+ via Homebrew)
系统兼容性macOS with bash 3.2+ (GNU bash 4+ via Homebrew for advanced features)
!注意: 以读方式打开 FIFO 会阻塞直到有写端出现,可能卡住脚本;读写端要成对安排。

04撤销

✓无需撤销——该命令不会改变持久状态。

05来源

最后验证: 2026-10-13 · 分类: 开发者