Я работаю с приложением общей памяти, и для удаления сегментов я использую следующую команду:
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
Что на самом деле происходит? Действительно ли сегмент памяти удален?
Изменить: Проблема была - как сказано ниже в принятом ответе, - что в общей памяти было два процесса, пока весь процесс не был закрыт, сегмент памяти не исчезнет.