shm
进程间共享内存访问及读写
1. 进程间共享内存相关linux_C函数

基本解释:
2. 进程间共享内存基本流程
进程1
- 进程1通过shmget函数新建一块物理的共享内存,并获取到这块内存在该系统中的唯一shm_id
- 紧接着调用shmat函数对这块唯一shm_id的物理共享内存映射到当前进程的虚拟空间地址中,并返回对应的虚拟空间地址
- 我们可以利用该地址对此物理的共享内存进行读/写
- 读写完毕后,shmdt函数对映射到进程虚拟空间的地址进行销毁,当前进程无法再访问该物理空间
- shmctl对实际的物理共享内存空间进行删除
进程2
- 在物理的共享内存删除前,使用shmat函数,我们可以对该shm_id进行映射到进程2的虚拟空间中,以获取实际物理共享内存的虚拟映射地址,然后对该物理空间进行读/写
- 读写完毕后,同样的调用shmdt函数对映射到进程2的共享内存虚拟空间地址进行毁
keyword
- 进程间的通讯(父子进程,netlink,socket等等)如何传递shm_id是关键,该shm_id在系统中唯一

3. demo code
//pg:有时间再写,哈哈哈

 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号