私は共有メモリ アプリケーションを使用しており、次のコマンドを使用してセグメントを削除しています。
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
実際に何が起こっているのですか?メモリセグメントは本当に削除されていますか?
編集:問題は、受け入れられた回答で以下に述べたように、共有メモリを使用する2つのプロセスがあり、すべてのプロセスが閉じられるまでメモリセグメントが消えないことでした。