【Linux:命名管道】
命名管道原理:
- 每一个进程都有独立的struct files_struct和struct file
- 文件属性集合和操作集只存储一份,因为属性集合和操作集每个文件都差不多一样
- 两个进程读写都在同一个内核缓冲区就可以实现进程间通信
- 数据写入缓冲区后还需要将数据刷新到磁盘中,但效率太慢
- 那么该数据的文件肯定是一种特殊的文件,不需要刷新到磁盘中,把这种特殊的文件叫做管道。
- 确保两个进程能共享一个文件,就需要该文件的路径,文件的路径具有唯一性
- 有路径该文件就一定有文件名,那么该文件也叫做命名管道
创建管道的命令:
向管道内写入
当读端关闭时,写端也会退出