首页 > 编程知识 正文

linux删除共享内存,英国ipcs

时间:2023-05-05 14:37:32 阅读:163711 作者:2502

//查看共享内存

[ app _ usr @ js2test 01 shell ] $ IPCS

------sharedmemorysegments------ sharedmemorysegments

keyshmidownerpermsbytesnattchstatus

0x 0122 f9df 12419074 app _ usr 66670604918

0x 0001 b3ef 14450693 app _ usr 66670604278

0x 0003 d 09 a 14385158 app _ usr 66667732

//各字段的含义:

第一列是共享存储器密钥;

第二列是共享存储器编号shmid;

第三列是创建的用户owner;

第四列是权限perms

第五列是创建的大小bytes;

第6列是连接到共享存储器的进程数nattach;

第七列是共享内存的状态status。 此处显示“dest”表示已删除共享内存段,但其他用户正在使用它。 如果段存储器的mode字段被设置为SHM_DEST,将显示“dest”。 当用户调用shmctl的IPC_RMID时,存储器首先检查有多少个进程与此存储器相关,如果相关数为0,则丢弃此共享存储器;如果否,则将此存储器的mod的mode位设置为SHM_DEST

//删除共享内存

直接使用#ipcrm -mshmid可能无法直接删除进程仍在使用的共享内存。 此时可以用ps -ef显示进程,kill可以去掉多余的进程,然后用ipcs显示。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。