ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

管道的理解

2021-04-10 13:01:57  阅读:197  来源: 互联网

标签:fork 文件 俩个 缓冲区 管道 理解 进程


首先父进程在创建子进程之前打开的文件,父子可以操作同一个文件,

  这块难理解的是父子进程如果是在fork之后打开的文件,而且是相同名字的文件,那么在磁盘上是怎么存储的呢

 

利用pipe函数,会创建一个管道文件,但是这个文件有俩个文件描述符,所以要在fork之前创建管道,这样可以实现共享,

管道的实质是内核缓冲区,内部使用环形队列实现,这个可以理解成管道文件和普通文件不一样,可以把内核缓冲区和管道文件等同

 

使用FIFO的时候

  1.不能退出进程

  2.不能在读之前提前关闭管道文件

 

这俩个问题究其根因是操作管道文件时感觉跟操作普通文件不一样,读写的时候俩端必须都打开文件

 

标签:fork,文件,俩个,缓冲区,管道,理解,进程
来源: https://www.cnblogs.com/mr-cool/p/14640526.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有