-
博文分类专栏
- Jquery基础教程
-
- 文章:(15)篇
- 阅读:46549
- shell命令
-
- 文章:(42)篇
- 阅读:154227
- Git教程
-
- 文章:(36)篇
- 阅读:234843
- leetCode刷题
-
- 文章:(76)篇
- 阅读:131787
-
linux中的命名管道2018-06-04 17:22 阅读(4838) 评论(0)
一、什么是管道呢
当我刚开始接触shell的时候,提到管道,我就会想到“|”,它能够把多个命令连接起来,上一个命令的输出,是下一个命令的输入。
cat login.sh |grep username
管道是一种基本的IPC机制(Inter-Process-Communication),可以分为匿名通道和命名通道。
匿名通道(pipe):采用半双工通信方式,数据只能单向流动,"|"是匿名管道的操作符号。
命名通道(named pipe或fifo):可在同一台计算机的不同进程之间或在跨越一个网络的不同计算机的不同进程之间,支持可靠的、单向或双向的数据通信。
二、命名管道的使用
创建命名管道,使用如下命令:
mkfifo pipe1
往管道写数据,如下:
如果,此时没有进程在管道另外一段读取数据,就会导致写数据的进程阻塞。
读取数据,格式如下:
cat < pip1