linux的IPC机制1-管道

来源:互联网 发布:mac 切换输入法 编辑:程序博客网 时间:2024/05/21 09:25

《朱老师物联网大讲堂》学习笔记       

 学习地址:www.zhulaoshi.org 


默认,无名管道,
进程都是独立地址空间的,无法直接进行通信,需要通过内核构建通道来间接达到通信的目的,
管道通信原理,内核维护的一块内存,有读端和写端,主要注意的是,管道是单向通信的,即半双工,
int pipe( int pipefd[2] );//得到2个文件描述符,一个用于读,一个用于写,创建子进程,接着父子进程分别关闭一个读,写文件fd,
缺陷,只能在父子进程间通信,


有名管道,fifo,不是父子进程也能用,任意两个进程就能用,
原理,内核维护一块内存,表示为一个有名字的文件,
使用方法,固定一个文件名,2个进程分别使用mkfifo创建fifo文件,然后分别open打开获取fd,然后一个读一个写,



0 0