文章目录
1进程间通信:管道
进程间通信
IPC: inter‐process communicating
两个进程之间互相交换数据,称为进程间通 信。
进程A 进程B
进程间通信
四种方式:
① 管道pipe
② 消息队列message queue
③ 共享内存shared memory
④ 网络套接字socket
管道
管道:pipe,是Linux操作系统提供的一个消息传递机制。
① 系统中创建一个文件,其文件类型为管道
mkfifo ~/project/message
② 进程A: 打开open该文件,向文件写入write数据
③ 进程B: 打开open该文件,从文件读取read数据
于是,数据 从进程A传递到进程B。。。显然,管道文件 并不是普通的文件。
管理文件不是普通的文件。。。
ls ‐l message
prw‐rw‐r‐‐1 mytest mytest 0 8月 19 02:48 message (首字母为p,表示其类型为pipe)
演示
write.cpp : 向pipe中写入数据
read.cpp: 从pipe中读取数据
(1) open是阻塞的 一个发送方,一个接收方,都齐备时才返回
(2) read是阻塞的
(3) 管道是单向的 这意味着两个进程之间可能要建立两个管道
(4) 和普通文件 区别??
小结:
1,管道意义
2,管道操作
来源:CSDN
作者:爱吃蛋炒饭的蜗牛君
链接:https://blog.csdn.net/qq_46165724/article/details/104804621