不同类型的进程间通信(IPC)技术
在计算机编程中,进程间通信(IPC)是一个重要的概念,它允许不同的进程之间交换数据和信息。本文将介绍几种常见的IPC技术,包括共享内存和Unix套接字,并详细讲解如何使用它们。
1. 父子进程间的共享内存
共享内存是一种常见的IPC技术,可用于不相关进程、相关进程和线程之间的通信。下面我们将展示如何在父子进程之间使用共享内存。
1.1 编译程序
首先,我们需要编译程序。这里使用GNU11标准,因为C99标准不包含 MAP_ANONYMOUS
宏,而GNU11包含。同时,我们需要链接实时扩展库。
$> gcc -Wall -Wextra -std=gnu11 -lrt \
> shm-parent-child.c -o shm-parent-child
1.2 测试程序
编译完成后,我们可以测试程序。
$> ./shm-parent-child
Parent PID is 9683
Original message: Hello, we are running
Child executed with PID 9684
Message from child: Hello from child
Parent message: New msg from parent
1.3 工作原理
- 使用