Linux IPC 2之管道

2017-10-15 12:50:54来源:CSDN作者:u013427969人点击

分享

简介

本文中,我们将学习GNU/Linux管道。管道模型虽然很老但是就算是现在它仍然是一个十分有用的进程间通信机制。我们将会学习什么是半双向管道以及有名管道。它们都提供了一个FIFO(先进先出)排队模型来允许进程间通信。

管道模型

一个形象化管道的描述为——一个在两个实体之间的单向连接器。例如,让我们来看一看下面的这个GNU/Linux命令:

ls | wc -l

这个命令创建了两个进程,一个和ls关联而另一个则和wc -l关联。接着它通过设置第二个进程的标准输入到第一个进程的标准输出连接了这两个进程。产生的结果是——计算了当前目录的文件数目。

我们的命令设置了一个在两个GNU/Linux命令之间的管道。命令ls被执行之后它产生的输出被用作第二个命令wc (word count)的输入。这是一个单向管道——通信发生在一个方向上。

微信扫一扫

第七城市微信公众平台