请介绍 Linux 下进程间通信(IPC)的方式,并重点说明共享内存的原理、使用步骤和注意事项。
考察说明
考察对 Linux 进程间通信机制的了解程度,以及共享内存的实现原理和实际使用细节
回答思路
- 列举主要 IPC 方式(管道、消息队列、信号、信号量、共享内存、Socket)
- 说明共享内存为什么比管道快(内核态拷贝机制)
- 描述共享内存的使用流程:创建(shmget/ftruncate+mmap)、映射、写入/读取、映射解除、删除
- 指出同步问题:共享内存本身不互斥,需配合信号量
- 说明生命周期管理:必须显式 shmctl IPC_RMID 或 ftruncate+munmap,防止资源泄漏
- 区分 System V 共享内存和 POSIX 共享内存(shm_open/mmap)的差异
本题已收录答题指导
本题附完整参考答案与评分标准
登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。