IPC之一:使用匿名管道进行父子进程间通信的例子

IPC 是 Linux 编程中一个重要的概念,IPC 有多种方式,本文主要介绍匿名管道(又称管道、半双工管道),尽管很多人在编程中使用过管道,但一些特殊的用法还是鲜有文章涉及,本文给出了多个具体的实例,每个实例均附有完整的源代码;本文所有实例在 Ubuntu 20.04 上编译测试通过,gcc版本号为:9.4.0;本文适合 Linux 编程的初学者阅读

1 概述

  • IPC(Inter-Process Communication) - 进程间通信,提供了各种进程间通信的方法;
  • 在 Linux C 编程中,IPC 通常有如下几种方式
    1. 半双工管道(Unix Pipe),简称管道,又称为匿名管道
    2. FIFOs - 又称为命名管道
    3. 消息队列(Message Queues)
    4. 信号量集(Semaphore Sets)
    5. 共享内存(Shared Memory Segments)
    6. 网络 socket(AF_INET Address Family)
    7. 全双工管道(AF_UNIX Address family)
  • 本文主要介绍匿名管道(Unix Pipe)的应用场景及使用方法,并给出多个附有完整源代码的实例;
  • 管道又被称为 匿名管道,是相对于命名管道而言的;
  • 匿名管道的通信模式是半双工的,所谓半双工指的是在管道中数据流是单方向的,当 A 进程和 B 进程之间使用管道进行通信时,数据要么从 A 发向 B,要么从 B 发向 A,在一个管道上,不能既

你可能感兴趣的:(进程间通信,ipc,pipe,匿名管道,进程间通信)