当前位置: 首页 > article >正文

Linux C语言 37- 进程间通信IPC

Linux C语言 37-进程间通信IPC

本节关键字:C语言 进程间通信 信号 管道 消息队列 共享内存 网络通信(套接字)
相关库函数:

提示:先做内容框架梳理,后期进行完善补充!

什么是进程间通信?

系统的安全性要求进程之间需要保持相对独立,一个进程不能随便访问另外一个进程的地址空间。但是在实际项目中通常需要多个进程之间协作完成一些任务,这就需要进程之间能够完成数据的传递。所以,不同进程之间传播或交换信息就被称为进程间通信(IPC,InterProcess Communication)。

进程间通信的作用

  • 数据传递:消息传递(message passing)是IPC中常用的数据传递方式,即将数据抽象成一个个的消息进行传递。
  • 控制流转移:当一个通信发生时,内核将控制流从发送者进程切换到接收者进程;IPC中的控制流转移通常是利用内核对进程的运行状态和运行时间的控制来实现的。

进程间通信的分类

  • 单向IPC:消息在一个连接上只能从端发送到另一端,例如:管道、信号;
  • 双向IPC:在一个连接上运行两端互相收发消息,例如:套接字通信;
  • 单/双向IPC:根据通信中具体的配置选项判断是否需要支持单向或双向的通信。在实际中,很多操作系统选择单/双向IPC。

进程间通信IPC之信号量

Linux C语言 38-进程间通信IPC之信号量

进程间通信IPC之管道

Linux C语言 39-进程间通信IPC之管道

进程间通信IPC之消息队列

Linux C语言 40-进程间通信IPC之消息队列

进程间通信IPC之共享内存

Linux C语言 41-进程间通信IPC之共享内存

进程间通信IPC之网络通信(套接字)

Linux C语言 42-进程间通信IPC之网络通信(套接字)


http://www.kler.cn/news/160708.html

相关文章:

  • Python读写txt文件数据
  • vue管理系统模版
  • 编织魔法世界——计算机科学的奇幻之旅
  • [C++] new和delete
  • 自定义插件vue-router简单实现hashRouter设计思路
  • linux常用快捷键
  • 学习mysql记录
  • 说说react的事件机制?
  • Isaac Sim教程08 独立代码编程
  • C# WPF上位机开发(会员管理软件)
  • 启用属性,索引和存储的用途是什么?
  • Elasticsearch:什么是大语言模型(LLM)?
  • HarmonyOS开发(十):通知
  • React立即更新DOM
  • 备案小技能:ICP备案(网站、app、小程序)经营性ICP备案(增值电信业务经营许可证)
  • 【PyTorch】训练过程可视化
  • c语言上机小练(有点难)
  • 【力扣】206.反转链表
  • 浅谈什么是语音芯片的白噪音支持功能:打造舒适家居与优质音频体验
  • 扔掉sql语句,用 QxOrm 让你的数据库操作从来没有这么简单过!
  • rename--统一的PRF
  • c# OpenCV 读取、显示和写入图像(二)
  • SAP ABAP 开发ALV的基本流程(ALV资料二)
  • 前端实现手机短信验证码倒计时效果
  • 【PyTorch】模型选择、欠拟合和过拟合
  • Linux命令之ps
  • QT+Unity3D 超详细(将unity3D与QT进行连接,并实现信息传递)
  • SpringSecurity6 | 默认用户生成(下)
  • Linux设置Docker自动创建Nginx容器脚本
  • IDEA如何配置Git 遇到问题的解决