我正在使用共享内存应用程序,并使用以下命令删除段:
ipcrm -M 0x0000162e (this is the key)
但我不知道我是否做对了,因为当我运行时,ipcs
我看到相同的段,但密钥为 0x0000000。那么内存段真的被删除了吗?当我多次运行我的应用程序时,我会看到带有密钥 0x000000 的不同内存段,如下所示:
key shmid owner perms bytes nattch status
0x00000000 65538 me 666 27 2 dest
0x00000000 98307 me 666 5 2 dest
0x00000000 131076 me 666 5 1 dest
0x00000000 163845 me 666 5 0
实际发生了什么?内存段真的被删除了吗?
编辑:问题是 - 如下面接受的答案所述 - 有两个进程使用共享内存,直到所有进程都关闭,内存段不会消失。