
分为匿名管道(pipe)和命名管道(fifo)。
主要是通过管道文件来完成本地进程间的通讯。
匿名管道
http://blog.csdn.net/oguro/article/details/53841949
命名管道
http://blog.csdn.net/ljianhui/article/details/10202699
管道是进程间通信的主要手段之一。一个管道实际上就是个只存在于内存中的文件,对这个文件的 *** 作要通过两个已经打开文件进行,它们分别代表管道的两端。管道是一种特殊的文件,它不属于某一种文件系统,而是一种独立的文件系统,有其自己的数据结构。根据管道的适用范围将其分为:无名管道和命名管道。
主要用于父进程与子进程之间,或者两个兄弟进程之间。在linux系统中可以通过系统调用建立起一个单向的通信管道,且这种关系只能由父进程来建立。
命名管道是建立在实际的磁盘介质或文件系统(而不是只存在于内存中)上有自己名字的文件,任何进程可以在任何时间通过文件名或路径名与该文件建立联系。为了实现命名管道,引入了一种新的文件类型——FIFO文件(遵循先进先出的原则)。
实现一个命名管道实际上就是实现一个FIFO文件。命名管道一旦建立,之后它的读、写以及关闭 *** 作都与普通管道完全相同。虽然FIFO文件的inode节点在磁盘上,但是仅是一个节点而已,文件的数据还是存在于内存缓冲页面中,和普通管道相同。
ABC。关于linux中的管道,下面ABC描述是正确的。linux中的管道正确答案是管道就是一种特殊的输入输出重定向。管道就是将一个命令的标准输出重定向为另一个一个命令的标准输入。完成复杂任务往往需要构造命令管道。欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)