码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【Linux 进程间通信】管道


    文章目录

        • 1.System V 标准介绍
        • 2.进程间通信的方式?
        • 3.管道(匿名管道)

    1.System V 标准介绍

    ①🍎 System V 实际上就是一个标准(“ 行业领头羊制定出来的专利 " )
    在这里插入图片描述

    2.进程间通信的方式?

    ①消息队列;②共享内存;③信号量;

    上面这三种是有比较成型的标准才有的,后面慢慢形成较为复杂模板的通信方式,那么在此之前有没有更为简单的通信方式呢?

    答案肯定是有的,就是 管道 (直接复用内核代码进行通信)

    3.管道(匿名管道)

    ①🍎为什么父子进程会向同一个显示器终端打印数据呢?

    因为父进程 fork()一个子进程,子进程继承父进程,所以两个进程的文件描述符表一样,所以查表可知同同一个显示器终端打印。

    ②🍎 进程会默认打开三个标准输入输出错误:0,1,2…怎么做到的呢?

    他们都是 bash 的子进程,bash父进程打开了,所以子进程就会打开。

    ③🍎 为什么我们子进程主动 close(0/1/2),不会影响父进程使用显示器文件呢?

    从下图可知,我们只需要把子进程的文件描述符信息表中的指针进行修改即可;

    在这里插入图片描述


    细节注意点:❗
    ①🍌管道只允许单向通信,即:父----->子(父进程写,子进程读)或者 子---->父(子进程写,父进程读),不可两者都同时写;
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述


    ①🍎父子之后要关闭不需要使用的 fd(读或者写接口),为什么要在开始的时候全部打开呢?

    为了子进程继承父进程的读写,因为如果父进程只有写的话,子进程也只能有写,如果子进程之后想要读的话,就不可以了;

  • 相关阅读:
    一个非常简单用.NET操作RabbitMQ的方法
    ssm+校园疫情申报系统 毕业设计-附源码221228
    攻防世界-WEB-easyupload
    Cy3.5-PEG-Biotin,Cy3.5-聚乙二醇-生物素,Biotin/mal/dope/dbco-PEG-Cy3.5
    策略模式-实战
    442-C++基础语法(111-120)
    前端导出图片和各种文件
    8.深度学习DNN
    MacOS环境变量source生效但重启后又失效
    2.4 Go语言中的数组(Array)
  • 原文地址:https://blog.csdn.net/Hou_lang_LJ/article/details/138022676
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号