管道

作者: skelton | 来源:发表于2019-05-28 11:24 被阅读0次

管道作用:用于进程间通信

分类:普通管道

        命名管道


普通管道:

普通管道允许两个进程按生产者消费者方式进行通信

生产者向管道写入端写,消费者从读出端读

普通管道只允许单向通信,双向通信要使用两个管道

采用普通管道的进程通信需要有父子关系,所以这些管道只能用于同一机器进程间通信

为什么普通管道只能用于亲缘进程间通信呢?

      由于普通管道文件没有文件名,所以进程无法使用open函数打开文件,从而得到文件描述符,所以只有一种办法。那就是父进程先调用pipe创建出管道,并得到管道的文件描述符号。然后fork出子进程,让子进程继承父进程打开的文件描述符,父子进程就能通过同一管道,从而实现通信


命名管道:

命名管道可以双向通信,当建立一个命名管道后,多个进程(不是父子进程也可以通信)都可以用它通信。不同的系统间通信,需要使用套接字。

相关文章

  • 工业管道工程施工程序

    管道分类与分级 工业管道按压力分级 管道的组成 管道由管道组成件和管道支承件组成 管道组件管道组成件是用于连接或装...

  • 管道基础

    ##管道基础 #通信分类:只写单工管道、只读单工管道、半双工管道(单向读写)、全双工管道(两个半双工管道拼接) 类...

  • Linux 进程间通信

    进程间通信 一 进程间通信 -- 管道 mkfifo test 创建管道文件 匿名管道和命名管道:匿名管道:匿名管...

  • 隧道安全逃生管道最新成果

    新型高分子隧道安全逃生管道分别有高分子逃生管道、新型隧道逃生管道、轻型逃生管道、悬挂式隧道逃生管道、防腐逃生管道、...

  • Linux-C-day-2-进程通过--管道通信

    管道通信 进程间管道通信方式可以通过man 7 pipe来查看; 匿名管道 单工管道 打开管道:使用popen()...

  • Redis管道技术的使用

    目录 Redis 管道技术 SpringDataRedis 使用管道 Redis 管道的性能测试 使用管道技术的注...

  • 进程间通信方式

    管道(Pipe)及有名管道(named pipe):管道可用于具有亲缘关系进程间的通信,有名管道克服了管道没有名字...

  • Linux进程间的通信

    管道,命名管道,信号

  • 建筑管道工程施工技术

    分类 按输送介质划分:给水管道、排水管道、供 暖管道、热水管道、空调水管道等。 施工程序 建筑管道施工程序 :施工...

  • 管道---无名管道

    无名管道的特点: 1:无名管道只能用于具有亲缘关系的进程之间的通信(这里理解为,二叉树中只有具有同一...

网友评论

      本文标题:管道

      本文链接:https://www.haomeiwen.com/subject/fsmrtctx.html