一。IPC(进程间通信)Linux下的多个进程间的通信机制叫做IPC,它是多个进程之间进行互相沟通的一种方法
二。进程间通信(IPC)的目的总结
1:数据传输
2:资源共享
3:一个进程需要向另一个或一组进程发送消息,通知它(它们)发生了某种事件
4:进程控制
三。进程间通信的方式
在Linux下有多个进程间通信的方法:半双工管道、FIFO(命名管道)、消息队列、信号量、共享内存、socket、信号等
四。管道
管道是一种把两个进程之间的标准输入和标准输出连接起来的机制
shell中管道用”|”表示
pipefd[0] 管道的读取端—pipefd[0]
pipefd[1] 管道的写入端—pipefd[1]
五。管道特点
1:只能在有亲缘关系的进程之间进行通信(也就是在父子进程之间通信)
2:单向通信一个读端,一个写端,如果要双向通信就要建立两个管道
3:接收数据流,与数据格式无关
4:一般而言,进程退出,管道释放,因此管道的生命周期随进程
5:同步互斥原则,内核会对管道操作进行同步和互斥
案例:
无名管道