Linux中的管道是什么?

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Linux中的管道是什么?
管道(pipe)是进程间通信的⼀种实现⽅式。

在 Linux 系统中,管道本质上是⼀种特殊的⽂件,它的主要⽤途是实现进程间的通信。

⽂中演⽰所⽤环境为 Ubuntu 18.04 desktop。

管道的⼀个显著特点是:创建⼀个管道后,会获得两个⽂件描述符,分别⽤于对管道进⾏读取和写⼊操作。

通常将这两个⽂件描述符称为管道的读取端和写⼊端,从写⼊端写⼊管道的任何数据都可以从读取端读取。

对⼀个进程来说,管道的写⼊和读取操作与写⼊和读取⼀个普通⽂件没有什么区别,只是在内核中通过这种机制来实现进程间的通信⽽已
cat file.txt | grep -v "dfd"
相当于在 cat 进程和 grep 进程之间建⽴了⼀个管道,cat 负责向管道写⼊ grep 负责从管道读取,普通⽂件打开只返回⼀个⽂件描述符,⽽打开⼀个管道则返回两个描述符,读和写,相当于普通⽂件是双⼯的,管道是单共的。

相关文档
最新文档