进程中通信的‘无名管道’和‘有名管道’的用法和二者的区别
来源:互联网 发布:淘宝闲鱼手机版网页 编辑:程序博客网 时间:2024/04/28 14:53
今天我简单介绍一下“无名管道(pipe)”和“有名管道(mkfifo)”。
什么叫管道?简单的说就是一种通信方式,就是一个程序的输出直接连接到另一个程序的输入。
第一幅图就是管道的一个图解。其中fd[0]固定用于读管道,fd[1]固定用于写管道。比如说我们开了父子进程,那么父进程如果开了fd[0],那么子进程只能开fd[1],这样的话就可以在子进程往管道里写,父进程从管道里读取。若管道对象在使用时内核产生,不使用时就不产生时,那么这一定是无名管道;若在使用时内核中产生了一个管道文件,且不使用时还于内核中存在,那么往往是有名管道。
【无名管道】特点:
1、只能用于具有亲缘关系的进程之间通信(父子进程或者兄弟进程)。
2、是一个单工(半双工)的通信模式,具有固定的读写端。
3、每次使用都需要创建管道对象。
【有名管道】特点:
1、可以在互不相关的进程之间实现通信。
2、改管道是通过路径名来指出,在文件系统中是可以看到的,在建立管道后可以当做普通文件来使用读写操作。
3、严格遵循先进先出的规则,对管道及FIFO的读总是从开始处返回数据,对它们的写则把数据添加到末尾。且不支持如lseek()等文件定位操作。
0 0
- 进程中通信的‘无名管道’和‘有名管道’的用法和二者的区别
- 有名管道和无名管道的区别
- 有名管道和无名管道的区别
- 有名管道和无名管道的区别
- 管道通信的特点及有名管道和无名管道的区别
- 进程间通信-管道(有名管道和无名管道)
- 经典进程间通信之无名管道和有名管道
- 无名管道和有名管道的概念与实现
- 无名管道和有名管道区别
- Linux内核中无名管道pipe和有名管道fifo的分析
- Linux内核中无名管道pipe和有名管道fifo的分析
- Linux内核中无名管道pipe和有名管道fifo的分析
- Linux内核中无名管道pipe和有名管道fifo的分析
- 无名管道和有名管道
- 无名管道和有名管道
- 无名管道和有名管道
- 有名管道和无名管道
- 有名管道和无名管道
- Linux后台开发应该具备技能
- 第2章 关系模型
- Template
- 由找工作引发的读研感悟
- 中国象棋将帅问题
- 进程中通信的‘无名管道’和‘有名管道’的用法和二者的区别
- SDUTOJ 2937 人活着系列之寻找最完美的人生
- 面试题
- freeswitch的拨号规则配置
- 链表中倒数第K个结点
- PHP中date.timezone的设置
- Oracle 生成Guid的方法
- tomcat如何开启8443端口
- android官方技术文档翻译——设计时布局属性