Удалить общую память с помощью iprm в Linux не удается
Я работаю с общей памятью и проверяю переполнение ссылок на память. У меня есть некоторые проблемы в моем коде, и я не могу удалить все сегменты памяти, которые я пытаюсь сделать так:
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
1 ответ
Решение
Я нашел решение. Когда состояние общей памяти является dest, сначала перечислите все сегменты памяти с помощью ipcs -mp, затем удалите сегмент памяти с помощью kill "lpid number"