漫画:什么是Linux管道

开发 开发工具
这篇小短文主要说了一下Linux管道的工作原理,管道是Linux中很重要的一种通信方式,它可以把一个程序的输出直接连接到另一个程序的输入,我们日常使用的管道多是指无名管道,无名管道只能用于具有亲缘关系的进程之间,还有一个有名字的管道,叫named pipe或者fifo(先进先出),用mkfifo()就可以创建。

  

 

后记:这篇小短文主要说了一下Linux管道的工作原理,管道是Linux中很重要的一种通信方式,它可以把一个程序的输出直接连接到另一个程序的输入,我们日常使用的管道多是指无名管道,无名管道只能用于具有亲缘关系的进程之间,还有一个有名字的管道,叫named pipe或者fifo(先进先出),用mkfifo()就可以创建。

实际上,管道是一个固定大小的buffer,使用这个buffer时也会带来问题,比如在写管道时可能变满,当这种情况发生时,随后对管道的write()调用将默认地被阻塞,等待某些数据被读取,以便腾出足够的空间供write()调用写。读取进程也可能工作得比写进程快。当所有当前进程数据已被读取时,管道变空。当这种情况发生时,一个随后的read()调用将默认地被阻塞,等待某些数据被写入。

【本文为51CTO专栏作者“刘欣”的原创稿件,转载请通过作者微信公众号coderising获取授权】

 

戳这里,看该作者更多好文

 

责任编辑:武晓燕 来源: 51CTO专栏
相关推荐

2020-03-23 11:24:58

模因变异性基因

2022-11-14 15:07:09

Linux管道

2022-12-12 10:38:31

2019-08-12 08:57:27

HTTPS HTTP网络协议

2020-09-14 17:26:48

抽象工厂模式

2011-09-27 09:12:14

关键业务IT号外

2021-03-02 14:23:06

人工智能深度学习

2019-10-28 11:11:33

公有云私有云混合云

2021-03-31 09:00:00

管道集成工具

2021-02-20 20:36:56

Linux无名管道

2018-09-10 08:45:04

Linux管道命令

2019-11-01 09:13:37

算法哈希缓存

2020-02-10 15:05:39

服务类型云计算三类

2018-02-06 08:49:07

LinuxUnix命名管道

2014-11-10 09:29:13

Google

2017-04-13 11:46:11

Linux VPS虚拟专属服务器

2022-11-15 09:05:46

CRUD程序员Redis

2021-07-02 16:30:01

CICDDevOps

2020-09-07 12:31:53

量子计算技术

2012-12-11 09:26:56

软件开发漫画
点赞
收藏

51CTO技术栈公众号