Linux -- 管道

进程间通信 IPC

Linux 主流 IPC:

管道、信号量、共享内存、消息队列、套接字

管道(Pipe)

1. 管道通用特点

  • 半双工(单向):数据只能一个方向流动

  • 面向字节流

  • 内置同步互斥机制

  • 命令行 | 就是无名管道

2. 无名管道(pipe)

  • 创建:int pipe(int fd[2])

  • 特点

    1. 没有名字,只能通过文件描述符使用

    2. 只能用于亲缘进程(父子 / 兄弟)

    3. 随进程销毁而消失

    4. fd 0 读端,fd 1 写端

3. 有名管道(FIFO)

  • 创建命令:mkfifo 管道名

  • 特点(必背)

    1. 有文件名,存在于文件系统

    2. 可用于任意进程(无亲缘关系也可)

    3. 关闭进程后,管道文件依然存在

  • 使用:open → read/write → close

管道读写规则

  • 读端不存在:写端收到 SIGPIPE 信号,默认终止进程

  • 读端有缓存:写满则阻塞

  • 写端不存在:读端读完返回 0

  • 管道为空:读阻塞

相关推荐
吳所畏惧2 分钟前
宝塔面板Redis密码修改指南:SSH命令修改 vs 面板UI界面修改,哪个更靠谱?
运维·服务器·数据库·redis·缓存·ssh
DFT计算杂谈5 分钟前
无 Root 权限在 Tesla K80 零门槛部署 DeepSeek 大模型
linux·服务器·网络·数据库·机器学习
HiDev_34 分钟前
【非标自动化】2、认识元器件(确定目标)
运维·自动化
维天说1 小时前
CLI-Switch 2026年3月版历史设计:Hook、TTY 隔离与 JSON 状态
java·服务器·json
Zhang~Ling1 小时前
从 fopen 到 struct file:从零开始拆解 Linux 文件 I/O
linux·运维·服务器
DeeplyMind1 小时前
Linux 深入 per-VMA lock:Linux 缺页路径如何摆脱 mmap_lock
linux·per-vma lock
爱写代码的阿森1 小时前
鸿蒙三方库 | harmony-utils之PreferencesUtil首选项数据监听详解
服务器·华为·harmonyos·鸿蒙·huawei
爱写代码的森1 小时前
蒙三方库 | harmony-utils之FileUtil文件重命名与属性查询详解
linux·运维·服务器·华为·harmonyos·鸿蒙·huawei
中微极客2 小时前
2026主流AI Agent框架技术选型与性能对比
运维·网络·人工智能
久曲健的测试窝2 小时前
智能座舱自动化测试落地方案:数字仿真搭配实车实测,解决用例运维与场景失真难题
运维