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
    +关注

    关注

    87

    文章

    11304

    浏览量

    209476
  • IPC
    IPC
    +关注

    关注

    3

    文章

    347

    浏览量

    51916
收藏 人收藏

    评论

    相关推荐

    Linux文件查找

    Linux文件查找 1.find查找概述 为什么要有文件查找,因为很多时候我们可能会忘了某个文件所在的位置,此时就需要通过find来查找。 find命令可以根据不同的条件来进行查找文件,例如
    的头像 发表于 12-03 17:09 258次阅读

    国内常见的石油管道外径测量方法?

    关键字:国内测径仪,国产测径仪,非接触测径仪,石油管道测径仪,石油管道外径测量,光电测径仪,激光测径仪, 国内常见的石油管道外径测量方法主要包括以下几种: 直接测量法 游标卡尺测量:这是最直接且
    发表于 09-29 16:58

    声波定位技术在地下管道中如何应用

    随着城市化进程的加速,地下管道作为城市基础设施的重要组成部分,其安全、高效的维护与管理显得尤为重要。声波定位技术作为一种非破坏性探测手段,在地下管道中的应用日益广泛,成为提升管道维护和管理水平的重要工具。接下来就看看深圳沧穹科技
    的头像 发表于 09-27 13:54 144次阅读

    消防管道压力流量监控方案

    在现代城市建设中,消防系统的安全可靠性直接关系到人民生命财产的安全。消防管道作为消防的核心组成部分,其压力与流量的稳定监控是确保火灾发生时能够及时、有效地进行灭火作业的关键。 消防管道压力流量监控
    的头像 发表于 07-30 17:05 272次阅读

    管道风速传感器安装要求标准

    管道风速传感器是一种用于测量管道内气流速度的仪器,广泛应用于工业、环保、建筑等领域。为了确保传感器的准确性和稳定性,安装过程中需要遵循一定的标准和要求。 一、管道风速传感器概述 1.1
    的头像 发表于 07-01 09:16 899次阅读

    管道风速传感器的安装在管道的前端还是后端

    管道风速传感器是一种用于测量管道内气流速度的仪器,广泛应用于工业、农业、环保、气象等领域。在安装管道风速传感器时,需要考虑多种因素,以确保测量结果的准确性和可靠性。本文将详细介绍管道
    的头像 发表于 07-01 09:14 843次阅读

    管道风速传感器的工作原理是什么

    管道风速传感器是一种用于测量管道内气体流速的仪器。它可以广泛应用于工业、环保、气象、建筑等领域,为气体流速的监测和控制提供重要数据。本文将详细介绍管道风速传感器的工作原理、分类、性能指标、安装与维护
    的头像 发表于 07-01 09:12 805次阅读

    管道风速传感器的正确安装方法

    管道风速传感器是用于测量管道内气体流速的仪器,广泛应用于工业、环保、气象等领域。正确安装管道风速传感器对于保证测量数据的准确性和可靠性至关重要。本文将详细介绍管道风速传感器的正确安装方
    的头像 发表于 07-01 09:11 950次阅读

    基于DOE的管道爬行机器人轻量化研究

    随着科技的不断发展,管道爬行机器人在各种工业领域中的应用越来越广泛,尤其在管道检测和维护方面发挥着不可替代的作用。然而,传统的管道爬行机器人往往存在质量较大、操作不便等问题,影响了其在实际应用中
    的头像 发表于 06-14 09:33 2609次阅读

    运营商的本分,就是专业做好管道

    从3G时代开始,就一直有运营商沦为流量管道,增量不增收的说法。国内外的运营商多年来似乎都在上线各种创新业务,和管道的地位斗争。然而,管道能力的直接体现就是网速,而网速正是手机上各种APP能流畅运行
    的头像 发表于 04-24 08:04 442次阅读
    运营商的本分,就是专业做好<b class='flag-5'>管道</b>

    智慧管道物联网远程监控解决方案

    智慧管道物联网远程监控解决方案 智慧管道物联网远程监控解决方案是近年来在智能化城市建设和工业4.0背景下,针对各类管道网络进行高效、安全、精准管理的前沿科技应用。它融合了物联网技术、大数据分析、云
    的头像 发表于 03-28 15:49 557次阅读
    智慧<b class='flag-5'>管道</b>物联网远程监控解决方案

    请问大家有没有类似流动管道的控件

    自己用滑动杆做了一下模拟管道液体流动的自定义控件,感觉不好用,请问下有官方的这种类似控件吗?
    发表于 03-16 15:37

    linux命令概述

    电子发烧友网站提供《linux命令概述.pdf》资料免费下载
    发表于 03-11 09:18 3次下载

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

      实验名称:管道定位系统的硬件实现   研究方向:管道无损检测   实验内容:开展基于PCM的管道定位系统的可行性研究:采用函数发生器产生4Hz、8Hz和72Hz的多频电流,并将信号输出
    发表于 03-08 17:39

    红外热成像技术在管道泄漏检测中的应用

    在全球范围内,管道泄漏问题一直是一个头疼的问题,它不仅直接威胁到人民的生命财产安全,同时还会导致重大的资源浪费。无论是工业生产中的化工管道,还是日常生活中的供水、供热管道,一旦发生泄漏,后果都是
    的头像 发表于 03-06 11:03 604次阅读
    红外热成像技术在<b class='flag-5'>管道</b>泄漏检测中的应用