C++共享内存常用操作
查看共享内存的使用以及删除共享内存
ipcs
命令和 ipcrm
命令
取得ipc信息:
ipcs [-m|-q|-s]
-m 输出有关共享内存(shared memory)的信息
-q 输出有关信息队列(message queue)的信息
-s 输出有关“遮断器”(semaphore)的信息
ipcs -m
列含义:
NATTCH 连接在关联的共享内存段的进程数
删除ipc
ipcrm -m|-q|-s
[-q msqid] [-m shmid] [-s semid]
[-Q msgkey] [-M shmkey] [-S semkey]
例如,我们在以 0x12345678
为 KEY 创建了一个共享内存,可以直接使用 ipcrm -M 0x12345678
来删除共享内存区域。
批量清除共享内存
下列代码的含义是:当第六列nattch
== 0 时,清除第二列shmid
的共享内存id
#!/bin/bash
ipcs -m | awk '$6==0 {print $2}' |
while read s
do
printf "del shm, shmid:%d\n" $s
ipcrm -m $s
done
参考:
https://www.ibm.com/support/knowledgecenter/zh/ssw_aix_72/com.ibm.aix.cmds3/ipcs.htm
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 using1174@foxmail.com
文章标题: C++共享内存常用操作
文章字数: 237
本文作者: Jun
发布时间: 2018-06-25, 12:27:00
最后更新: 2018-10-15, 20:48:22
原始链接: http://yoursite.com/2018/06/25/C-共享内存常用操作/版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。