进程间通信 - 管道

本文介绍了进程间通信中的管道概念,包括匿名管道和命名管道。管道本质上是内核提供的一段内存,用于在有亲缘关系的进程间传递数据。匿名管道通过文件描述符继承实现通信,而命名管道则解决了非亲缘进程间的通信问题。管道具有半双工、面向字节流和同步互斥等特点,并且其生命周期随进程结束而释放。
摘要由CSDN通过智能技术生成
进程间通信介绍

进程间通信的条件 -  进程独立
进程间通信的目的
  • 数据传输:一个进程需要将他的数据发送给另一个进程
  • 资源共享:多个进程之前共享同样的资源
  • 通知事件:一个进程需要向另一个或者一组进程发送消息,通知他们发生了某种事件
  • 进程控制:有些进程希望完全控制另一个进程的执行(如Debug进程),此时控制进程希望能够拦截另一个进程的所有陷入和异常,并能够及时通知他们状态改变
进程间通信的分类
  • 管道
匿名管道 pipe
命名管道
  • System V IPC
System V 消息队列
System V 共享内存
System V 信号量
  • POSIX IPC
消息队列
共享内存
信号量
互斥量
条件变量
读写锁

管道

什么是管道
  • 管道其实是内核提供的一段内存
  • 我们把一个进程连接带另一个进程的数据流称为管道

下面以 who | wc -l 为例

匿名管道

创建一个无名管道

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值