在 Linux 中使用 iprm 删除共享内存失败
Delete shared memory with iprm in Linux fails
我正在使用共享内存并正在测试内存引用溢出。我的代码有些问题,无法删除所有内存段
我正在尝试这样:
ipcs -m
ipcrm -m 360448
ipcs -m
内存段永不删除
------ Shared Memory Segments --------
key shmid owner perms bytes nattch status
0x00000000 360448 root 700 2484 2 dest
0x00000000 393218 root 700 8372 2 dest
0x00000000 425987 root 700 4416 2 dest
0x00000000 458756 root 700 2484 2 dest
0x00000000 491525 root 700 2400 2 dest
0x00000000 524294 root 700 12800 2 dest
0x00000000 557063 root 700 5800 2 dest
0x00000000 589832 root 700 144160 2 dest
0x00000000 622601 root 700 24672 2 dest
0x00000000 655370 root 700 34368 2 dest
0x00000000 688139 root 700 9996 2 dest
我找到了解决方案。
当共享内存状态为dest时
首先用 ipcs -mp 列出所有内存段
然后用 kill "lpid number"
删除内存段
我正在使用共享内存并正在测试内存引用溢出。我的代码有些问题,无法删除所有内存段 我正在尝试这样:
ipcs -m
ipcrm -m 360448
ipcs -m
内存段永不删除
------ Shared Memory Segments --------
key shmid owner perms bytes nattch status
0x00000000 360448 root 700 2484 2 dest
0x00000000 393218 root 700 8372 2 dest
0x00000000 425987 root 700 4416 2 dest
0x00000000 458756 root 700 2484 2 dest
0x00000000 491525 root 700 2400 2 dest
0x00000000 524294 root 700 12800 2 dest
0x00000000 557063 root 700 5800 2 dest
0x00000000 589832 root 700 144160 2 dest
0x00000000 622601 root 700 24672 2 dest
0x00000000 655370 root 700 34368 2 dest
0x00000000 688139 root 700 9996 2 dest
我找到了解决方案。 当共享内存状态为dest时 首先用 ipcs -mp 列出所有内存段 然后用 kill "lpid number"
删除内存段