进程之间的通信方式
1、匿名管道通信:
a. ⽗进程创建管道,得到两个⽂件描述符指向管道的两端
b. ⽗进程fork出⼦进程,⼦进程也有两个⽂件描述符指向同⼀管道。
c. ⽗进程关闭fd[0],⼦进程关闭fd[1],即⽗进程关闭管道读端,⼦进程关闭管道写端(因为管道只⽀持单向通信)。⽗进程可以往
管道⾥写,⼦进程可以从管道⾥读,管道是⽤环形队列实现的,数据从写端流⼊从读端流出,这样就实现了进程间通信。
2、⾼级管道通信:将另⼀个程序当做⼀个新的进程在当前程序进程中启动,则它算是当前程序的⼦进程,这种⽅式我们称为⾼级管
道⽅式。
3、有名管道通信:有名管道也是半双⼯的通信⽅式,但是它允许⽆亲缘关系进程间的通信。
4、消息队列通信:消息队列是由消息的链表,存放在内核中并由消息队列标识符标识。消息队列克服了信号传递信息少、管道只能
承载⽆格式字节流以及缓冲区⼤⼩受限等缺点。
5、信号量通信:
6、信号通信:
7、共享内存通信:
8、套接字通信:

浙公网安备 33010602011771号