网站首页 > 技术教程 正文
管道本质上就是内核中的一个缓存,当进程创建一个管道后,Linux会返回两个文件描述符,一个是写入端的描述符,一个是输出端的描述符,可以通过这两个描述符往管道写入或者读取数据。
匿名管道
特点:
它是半双工的(即数据只能在一个方向上流动),具有固定的读端和写端。
它只能用于具有亲缘关系的进程之间的通信(也是父子进程或者兄弟进程之间)。
它可以看成是一种特殊的文件,对于它的读写也可以使用普通的read、write 等函数。
但是它不是普通的文件,并不属于其他任何文件系统,并且只存在于内存中。
缺点:
半双工通信,一条管道只能一个进程写,一个进程读。
一个进程写完后,另一个进程才能读,反之同理。
单个进程中的管道几乎没有任何用处。所以,通常调用 pipe 的进程接着调用 fork,这样就创建了父进程与子进程之间的 IPC 通道。
若要数据流从父进程流向子进程,则关闭父进程的读端(fd[0])与子进程的写端(fd[1]);反之,则可以使数据流从子进程流向父进程。
父子进程的通信应用:
在Linux系统中操作时,你一定会用到管道。
管道可以用来在两个进程之间传递数据,比如:
ps -ef | grep “bash”
其中‘|’就是管道,其作用就是将 ps 命令的结果写入管道文件,然后 grep 再从管道文件中读出该数据进行过滤。
- 上一篇: 新手必须掌握的Linux命令
- 下一篇: Linux命令大全
猜你喜欢
- 2025-05-28 通过代码执行或命令执行写Shell
- 2025-05-28 安卓系统再曝ROM级木马“万蓝” 360手机卫士首家查杀
- 2025-05-28 常用液压元件符号
- 2025-05-28 Linux 的这几种搜索方式,你都会了吗?
- 2025-05-28 R语言——带有误差线和显著性标记的柱状图如何做?
- 2025-05-28 管道图纸上常用符号知多少?管网图常用符号大全!值得收藏备用!
- 2025-05-28 收藏 | 记住这些符号,你也能看懂消防工程图!
- 2025-05-28 「干货」Linux 中的零拷贝技术你居然还不知道?
- 2025-05-28 IT运维与网络工程师必会的30个网络抓包/调试工具
- 2025-05-28 linux 系统中正则表达式的使用
你 发表评论:
欢迎- 最近发表
-
- Win11学院:如何在Windows 11上使用WSL安装Ubuntu
- linux移植(Linux移植freemodbus)
- 独家解读:Win10预览版9879为何无法识别硬盘
- 基于Linux系统的本地Yum源搭建与配置(ISO方式、RPM方式)
- Docker镜像瘦身(docker 减小镜像大小)
- 在linux上安装ollama(linux安装locale)
- 渗透测试系统Kali推出Docker镜像(kali linux渗透测试技术详解pdf)
- Linux环境中部署Harbor私有镜像仓库
- linux之间传文件命令之Rsync傻瓜式教程
- 解决ollama在linux中安装或升级时,通过国内镜像缩短安装时长
- 标签列表
-
- 下划线是什么 (87)
- 精美网站 (58)
- qq登录界面 (90)
- nginx 命令 (82)
- nginx .http (73)
- nginx lua (70)
- nginx 重定向 (68)
- Nginx超时 (65)
- nginx 监控 (57)
- odbc (59)
- rar密码破解工具 (62)
- annotation (71)
- 红黑树 (57)
- 智力题 (62)
- php空间申请 (61)
- 按键精灵 注册码 (69)
- 软件测试报告 (59)
- ntcreatefile (64)
- 闪动文字 (56)
- guid (66)
- abap (63)
- mpeg 2 (65)
- column (63)
- dreamweaver教程 (57)
- excel行列转换 (56)
本文暂时没有评论,来添加一个吧(●'◡'●)