linux共享内存shmget函数踩坑:
linux共享内存shmget函数踩坑:【声明】int shmget(key_t key,size_t size,int shmflg);【说明】key_t本质为int类型【问题】shmget返回-1【原因】size大小不合理size大小不能超过系统指定共享内存的最大值,不能低于共享内存指定的最小值。共享内存大小查看命令:sysctl -a | grep shm指定的key已存在共享内存大小,无法
·
【声明】int shmget(key_t key,size_t size,int shmflg)
【说明】key_t本质为int类型
【问题】shmget返回-1
【原因】size大小不合理
- size大小不能超过系统指定共享内存的最大值,不能低于共享内存指定的最小值。共享内存大小查看命令:
sysctl -a | grep shm
- 指定的key已存在共享内存大小,无法修改。查看指定key是否存在:1、代码中按16进制打印key,并记录key值。2、查看linux中是否存在此key的共享内存。3、若存在,则根据对应的shmid删除对应共享内存段。4、重新执行代码,ok。
查看共享内存使用情况
ipcs
删除指定key的共享内存
ipcrm -m shmid
更多推荐
已为社区贡献1条内容
所有评论(0)