进程间通信 - 管道

进程间通信 ipc :管道  信号量 消息队列 共享内存  套接字

管道:

1.有名管道 无名管道 区别?

有名可以在任意两个进程间通信,无名只能在父子进程间使用。

2.写入管道的数据在哪里?

内存中

3.管道是一个半双工的通信方式

头指针写,尾指针度,开始都在头部

使用操作

有名管道

mkfifo + name 创建管道文件 -p    大小是0,写入管道的数据在内存中

open  read  write  close  操作管道文件

只能是 只读 或者 只写

示例:

键盘输入数据,读取数据

写端关闭,读端int n = read 返回值 n==0

读端关闭,写端 write 会触发信号 SIGPIPE

管道为空,读操作阻塞

管道为满,写操作阻塞

有名管道,需要读写两个进程同时打开才可以

无名管道

一般固定读写方向,将对应的读写关闭即可。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值