程序异常退出时没有释放共享内存,调试时出现错误,在网上搜了一下,在shell中是可以查看与释放已分配的共享内存的。
查看共享内存,使用ipcs命令,不加任何参数时,这条命令会把共享内存/信号量/消息队列的信息都打印出来。如果只想显示共享内存信息,则使用ipcs -m。
要删除共享内存,需要使用ipcrm命令,使用shmid做为参数。shmid在ipcs命令中会有输出。
下面的命令可以释放所有已分配的共享内存:
ipcs -m | awk '2 ~ /[0-9]+/ {print2}' | while read s; do sudo ipcrm -m $s; done
深入阅读请看: 批量释放系统共享内存
本文以创作共用版权协议发布,转载本文要求遵循“署名-非商业性使用-相同方式共享3.0”的创作共用协议,并以链接形式指明本文地址。
本文链接地址: https://blog.easwy.com/archives/linux-note-about-share-memory/
文章的脚注信息由WordPress的wp-posturl插件自动生成