SystemV 共享内存(二)—— 共享内存实现不同进程间通信(shmat / shmdt)

共享内存(一)—— 共享内存的创建与释放_abs(ln(1+NaN))的博客-优快云博客介绍共享内存的定义,及其共享内存的创建函数和释放函数https://blog.youkuaiyun.com/challenglistic/article/details/124362340?spm=1001.2014.3001.5501在创建好共享内存以后,我们需要让进程挂接到这块共享内存上通信,涉及到的系统调用是 shmat(挂接)、shmdt(断连),最后会结合之前的所有内容测试服务端和客户端的通信


目录

一、shmat函数(shared memory attach)

1、参数解析

2、返回值解析

二、shmdt函数(shared memory detach)

三、共享内存实现不同进程间通信

1、服务端

2、客户端

3、客户端和服务端通信测试

四、共享内存的特性


一、shmat函数(shared memory attach)

这个函数的作用是将进程挂接到共享内存上。

使用shmget创建或者使用共享内存的时候,都会有一个key值,这个key值会被保存在共享内存的结构体中,进程会带着key值去和所有的共享内存中的key值比对,如果一致,则连接。下面这个是用户层的共享内存结构体信息(内核层的结构体

评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值