解决Linux system v 共享内存问题
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,system v 共享内存#include #include int shmget(key_t key, size_t size, int shmflg);建立:进程与共享内存的关联关系key_t k
千家信息网最后更新 2025年12月02日解决Linux system v 共享内存问题
system v 共享内存
#include#include int shmget(key_t key, size_t size, int shmflg);
建立:进程与共享内存的关联关系
key_t key:16进制的非0数字。
一般有两种方式设置它。
第一种:调用fotk函数
第二章:直接使用IPC_PRIVATE
size:共享内存的大小
shmflg:
- IPC_CREAT
- IPC_EXCL
- 用户,组用户,其他用户对这片内存的权限,有9个bit来表示,比如664
返回值:成功返回这片共享内存的标识号;失败返回-1,errno被设置。
#include#include void *shmat(int shmid, const void *shmaddr, int shmflg);
shmid:由shmget函数创建的,也就是shmget函数的返回值
shmaddr:
NULL:让内核去申请内存空间
非NULL:自己用malloc开辟一个空间,让共享内存shmid和这个地址关联上。但是如果不是4K的整数倍,内核会向上或者向下调整。
shmflg:
SHM_RND:读写
SHM_RDONLY:只读
返回值:
成功:返回内存地址
失败:返回(void *) -1
#include#include int shmdt(const void *shmaddr);
取消进程与共享内存的关联关系
shmaddr:shmat的返回值
返回值:成功0;失败-1,并设置errno。
#include#include int shmctl(int shmid, int cmd, struct shmid_ds *buf);
对共享内存操作,更具cmd的不同,对共享内存进行不同的操作。
shmid:由shmget函数创建的,也就是shmget函数的返回值
cmd:
IPC_STAT:得到共享内存的状态
IPC_RMID:标记删除共享内存(当共享内存的引用计数变为0时,删除)
IPC_SET:设置共享内存的属性(修改权限,修改shmid等)
等等
buf:shmid_ds结构体
返回值:当cmd是IPC_RMID时:成功0;失败-1,并设置errno
用命令【ipcs】可以查看共享内存的状态
------ Shared Memory Segments --------key shmid owner perms bytes nattch status0x00007fff 65536 ys 664 256 00x00007ffe 98305 ys 664 256 00x0000555e 131074 ys 664 256 00x00000011 229379 ys 664 256 3
- key:函数shmget指定的第一个参数
- shmid:函数shmget的返回值
- owner:属于哪个用户创建的
- perms:这个共享内存的访问权限
- bytes:大小
- nattch:使用这个共享内存的进程的数量
- status:共享内存的状态
总结
以上所述是小编给大家介绍的解决Linux system v 共享内存问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
内存
函数
成功
用户
权限
状态
进程
关联
不同
也就是
内核
地址
大小
空间
帮助
问题
出处
参数
命令
属性
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
mysql数据库入门
魔兽世界正式服服务器哪个不卡
网络安全实战存在问题
毕业设计网络安全方面
国家三级网络技术 职称
SQL提供了哪些系统数据库
网络安全主体教育班会记录
网络安全防护app
没有网络安全的口号
新余高性价比服务器哪家公司好
日照五莲医院软件开发
数据库conmit
精特娱汇软件开发有限公司
深度解析网络安全
如何搭建企业服务器
本地安全用户数据库
rac 数据库重装软件
网络安全是各级党委
全国网络安全法总决赛
QT如何查询数据库记录存在
网络安全属于哪一类专业
天津网络安全博览会志愿者
打印文件显示rpc服务器不可用
备份数据库和还原数据库
个人简历数据库设计文档
网络安全产品入围
服务器股票龙头股
客制化软件开发报价
瞳孔聊天软件开发
柳州网络安全工程师线上学习