IPC 是 Linux 编程中一个重要的概念,IPC 有多种方式,本文主要介绍匿名管道(又称管道、半双工管道),尽管很多人在编程中使用过管道,但一些特殊的用法还是鲜有文章涉及,本文给出了多个具体的实例,每个实例均附有完整的源代码;本文所有实例在 Ubuntu 20.04 上编译测试通过,gcc版本号为:9.4.0;本文适合 Linux 编程的初学者阅读
1 概述
- IPC(Inter-Process Communication) - 进程间通信,提供了各种进程间通信的方法;
- 在 Linux C 编程中,IPC 通常有如下几种方式
- 半双工管道(Unix Pipe),简称管道,又称为匿名管道
- FIFOs - 又称为命名管道
- 消息队列(Message Queues)
- 信号量集(Semaphore Sets)
- 共享内存(Shared Memory Segments)
- 网络 socket(AF_INET Address Family)
- 全双工管道(AF_UNIX Address family)
- 本文主要介绍匿名管道(Unix Pipe)的应用场景及使用方法,并给出多个附有完整源代码的实例;