Linux编程之pipe管道通信(2)
来源:互联网 发布:sql server修复工具 编辑:程序博客网 时间:2024/06/15 10:54
上一篇我们介绍过创建管道的pipe函数,下面在代码中我们来实现进程间的通信吧。
管道能在父、子进程间传递数据,利用的是fork调用之后两个管道文件描述符(fd[0],fd[1])都保持打开。一对这样的文件描述符只能保证父、子进程间一个方向的数据传输,父进程和子进程必须有一个关闭fd[0],另一个关闭fd[1]。比如,我们要使用管道实现从父进程向子进程写数据,可按照下图来操作:
显然,如果要实现父、子进程之间的双向数据传输,就必须使用两个管道。
pipe函数的表头文件#include <unistd.h>,函数定义 int pipe(int fd[2]);成功返回0,失败返回-1,并标记errno:EMFILE 进程已用完文件描述词最大量;ENFILE 系统已无文件描述词可用;EFAULT 参数 filedes 数组地址不合法。
下面我们看一下代码示例:
接下来我们编译连接,执行情况如下:
不过,管道只用于有关联的两个进程(比如父、子进程)间的通信。不过有一种特殊的管道称为FIFO(先进先出),也叫命名管道,可用于无关联进程之间的通信,因为FIFO在网络编程中使用的不多,这里就不多介绍了。
阅读全文
0 0
- Linux编程之pipe管道通信(2)
- Linux编程之pipe管道通信(1)
- linux管道通信(pipe)
- linux系统编程之管道(一):匿名管道(pipe)
- linux系统编程之管道(一):匿名管道(pipe)
- 【Linux系统编程】进程间通信--无名管道(pipe)
- linux进程间通信之管道(pipe与fifo)
- Linux进程间通信之管道(pipe)
- Linux进程间通信之管道(pipe)
- Linux进程间通信之管道(pipe)
- Linux进程通信-管道(pipe)
- linux下c编程之无名管道pipe()函数
- 线程通信之管道方法(pipe)
- 进程通信之管道(PIPE)
- 管道编程之pipe
- Linux进程间通信(一)之无名管道(PIPE)和有名管道(FIFO)
- linux系统编程之管道 匿名管道(pipe)
- Linux编程 进程间通信------无名管道(PIPE)
- 从零一起学react(3)---组件的创建
- 数据预处理
- Java 枚举(enum) 详解7种常见的用法
- 【python学习笔记】删除pandas DataFrame的某一/几列:
- 从多层嵌套类中访问外部类的成员
- Linux编程之pipe管道通信(2)
- 搜索引擎优化在2017年需要了解百度什么
- 怪兽级性能,用代码玩转Excel!葡萄城强势发布Spread表格组件
- JAVA的深拷贝与浅拷贝
- PTA 7-19(排序) 寻找大富翁(25 分) 25分代码
- js获取上一页访问的URL地址
- NOIP2017赛前模拟 分玩具
- MFC问题集
- 历史曲线总结--坚持笔记