五种方式:
① 管道 pipe
② 消息队列 message queue
③ 共享内存 shared memory
④ 网络套接字 socket
⑤信号量
注:后三种windows也有
管道: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)
(1) open是阻塞的
一个发送方,一个接收方,都齐备时才返回
(2) read是阻塞的
(3) 管道是单向的
这意味着两个进程之间可能要建立两个管道
(4) 和普通文件的区别,操作系统操作的,普通文件实现不了