0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

linux管道概述

jf_09640219 来源:jf_09640219 作者:jf_09640219 2024-02-18 14:51 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

一、进程间通信(IPC)介绍


进程间通信(IPC,InterProcess Communication)是指在不同进程之间传播或交换信息。

IPC的方式通常有管道(包括无名管道和命名管道)、消息队列、信号量、共享存储、Socket、Streams等。其中 Socket和Streams支持不同主机上的两个进程IPC。

二、管道
管道,通常指无名管道,是 UNIX 系统IPC最古老的形式。

1、特点:
它是半双工的(即数据只能在一个方向上流动),具有固定的读端和写端。

它只能用于具有亲缘关系的进程之间的通信(也是父子进程或者兄弟进程之间)。

它可以看成是一种特殊的文件,对于它的读写也可以使用普通的read、write 等函数。但是它不是普通的文件,并不属于其他任何文件系统,并且只存在于内存中。

2、原型:

1 #include 2 int pipe(int fd[2]); // 返回值:若成功返回0,失败返回-1

当一个管道建立时,它会创建两个文件描述符:fd[0]为读而打开,fd[1]为写而打开。如下图:

wKgaomW7Yk-ADXxvAAB9zPYyT28748.png

若要数据流从父进程流向子进程,则关闭父进程的读端(fd[0])与子进程的写端(fd[1]);反之,则可以使数据流从子进程流向父进程。

三、命名管道

wKgaomW95eyAbaGCAAKk9BSyyEk980.png

运行此代码时,会卡住(即阻塞),只有当运行一个以可写此文件的点C文件时(如下),上述代码才不会被阻塞

wKgaomW95pmAPaASAAG9LHvFRcg419.png

读5次数据:(其中每隔1秒钟写一次,防止数据冲突)

代码参考:pjj@pjj-virtual-machine:~/文档/Perfect/IPC/read.c

pjj@pjj-virtual-machine:~/文档/Perfect/IPC/write.c

wKgZomW-Bs2AWKvSAA8WzMcy7Is123.png

四、消息队列

消息队列,是消息的链接表,存放在内核中。一个消息队列由一个标识符(即队列ID)来标识。

1、特点
消息队列是面向记录的,其中的消息具有特定的格式以及特定的优先级。

消息队列独立于发送与接收进程。进程终止时,消息队列及其内容并不会被删除。

消息队列可以实现消息的随机查询,消息不一定要以先进先出的次序读取,也可以按消息的类型读取。

wKgaomXLNmGAZn1nAA0E-FI1Yqs454.png

对于B:

1、创建队列

2、写数据到队列

3、、、、、、、

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux
    +关注

    关注

    88

    文章

    11630

    浏览量

    218023
  • IPC
    IPC
    +关注

    关注

    3

    文章

    375

    浏览量

    54571
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    飞凌嵌入式ElfBoard-Linux系统中的文件分类

    的主要功能和Windows系统中快捷方式类似,它是指向另一个文件或者目录,符号链接本身不包含数据。6.管道(Pipe)和套接字(Socket)Linux提供了管道和套接字机制,用于不同进程之间的通信。
    发表于 12-09 08:59

    Linux进程间通信(IPC)全解析:从管道到 Socket,一篇讲透

    ,Inter-Process Communication) 。 今天我们就来系统梳理 Linux 中最常用的 6 种 IPC 方式,从原理到实例,从流程到适用场景,帮你彻底搞懂进程间如何 “对话”。 一、管道
    的头像 发表于 11-14 21:38 1.2w次阅读
    <b class='flag-5'>Linux</b>进程间通信(IPC)全解析:从<b class='flag-5'>管道</b>到 Socket,一篇讲透

    管道运输中的传感器:管道状态监测

    在现代工业体系中,管道运输承担着不可或缺的重任,无论是石油、天然气等能源的长距离输送,还是化工原料在不同生产环节的流转,管道运输都凭借其高效、连续、低成本的优势,成为工业生产和能源供应的关键环节。
    的头像 发表于 09-05 16:10 360次阅读

    管道浮力平衡压袋(配重压袋)工作原理

    管道浮力平衡压袋(配重压袋)工作原理
    发表于 06-12 15:09 0次下载

    天然气管道保压密封测试应用方案

    天然气管道在铺设完成后需进行保压密封测试,以确保管道系统无泄漏、承压能力符合设计要求。根据国家标准 GB 50251《输气管道工程设计规范》 和 GB 50369《油气长输管道工程施
    的头像 发表于 05-28 09:15 1912次阅读

    客户案例:基于纳祥科技高精度IC的管道漏点检测方案,超级透墙30cm

    ,实现精准定位与高效排查,兼具可靠性与经济性。方案概述本方案基于声学检测法,通过高精度传感器,捕捉汽车维修、管道泄漏产生的声波信号(如高频噪声、振动),实现泄漏点的
    的头像 发表于 05-19 15:32 445次阅读
    客户案例:基于纳祥科技高精度IC的<b class='flag-5'>管道</b>漏点检测方案,超级透墙30cm

    Linux系统管理的核心概念

    在前一篇文章中,我们深入探讨了Linux中的文件操作命令,如cp、mv、rm,以及文本处理命令grep、wc和管道符。本文将继续深入Linux系统管理的核心概念,包括root用户的角色、用户和用户组
    的头像 发表于 05-15 17:05 498次阅读

    才茂燃气管道远程监控方案

    燃气管道如同城市的"血管",大多数深埋地下,默默承担着能源输送的重任。然而,人类活动、地质变化、建筑沉降、管道腐蚀等因素时刻威胁着管网的安全。随着城市燃气管网规模
    的头像 发表于 04-30 08:45 460次阅读
    才茂燃气<b class='flag-5'>管道</b>远程监控方案

    安泰功率放大器在管道螺旋导波信号测量实验中的应用

    实验名称:功率放大器在管道螺旋导波信号测量实验中的应用 实验内容:测量沿着管道壁面以螺旋方式行进的准lamb导波,研究其传播规律。 研究方向:管道导波无损检测 测试设备:信号发生器
    的头像 发表于 04-15 10:57 482次阅读
    安泰功率放大器在<b class='flag-5'>管道</b>螺旋导波信号测量实验中的应用

    焊接熔池监控相机在管道焊接中的应用:高效监测,保障管道安全

    在油气输送、化工建设等重大工程领域,都对管道有着大量的需求,管道的焊接质量直接关系到设备的安全性与稳定性。传统的焊接作业,熔池形态、温度分布等关键参数的监测高度依赖人工经验,存在实时性差、难以全程
    的头像 发表于 04-14 16:06 567次阅读
    焊接熔池监控相机在<b class='flag-5'>管道</b>焊接中的应用:高效监测,保障<b class='flag-5'>管道</b>安全

    Aigtek功率放大器在管道定位系统硬件中的应用

    实验名称: 管道定位系统的硬件实现 研究方向: 管道无损检测 实验内容: 开展基于PCM的管道定位系统的可行性研究:采用函数发生器产生4Hz、8Hz和72Hz的多频电流,并将信号输出
    的头像 发表于 03-12 11:25 424次阅读
    Aigtek功率放大器在<b class='flag-5'>管道</b>定位系统硬件中的应用

    管道流量监测设备的原理

    应运而生,它们依据不同的物理原理实现对流量的精确测量,其中超声波流量计以其独特的优势得到了广泛应用。常见管道流量监测设备原理概述差压式流量计差压式流量计基于伯努利方
    的头像 发表于 03-04 17:46 1105次阅读
    <b class='flag-5'>管道</b>流量监测设备的原理

    智能电缆管道在线监测机器人详细解析科普

    智能电缆管道在线监测机器人详细解析科普 一、概述 智能电缆管道在线监测机器人是一种集成了现代电子技术和人工智能的创新巡检设备,是深圳鼎信智慧科技专为解决传统电缆管道巡检中存在的效率低、
    的头像 发表于 01-15 09:28 811次阅读

    燃气管道安全监测自动告警系统方案

    随着高校规模的不断扩大和燃气使用量的增加,燃气安全成为高校后勤管理中的重要一环。 燃气作为一种清洁、高效的能源,为高校的教学、科研和生活提供了有力保障。然而,由于燃气管道铺设复杂、使用环境多变,以及
    的头像 发表于 01-14 16:10 1010次阅读
    燃气<b class='flag-5'>管道</b>安全监测自动告警系统方案

    Aigtek功率放大器在管道悬跨诊断中的具体应用

    在现代工业生产中,管道作为传输物质的重要工具,其安全性、稳定性和效率性对生产过程具有重大影响。管道悬跨是一种常见的管道故障,指的是管道在支撑点之间出现悬空的情况,这可能会导致
    的头像 发表于 01-02 13:55 512次阅读
    Aigtek功率放大器在<b class='flag-5'>管道</b>悬跨诊断中的具体应用