Linux固有かどうかに関係なく、shm_open()
プロセスが使用していないときにposix共有メモリセグメント(で取得)を削除する方法はありますか?つまり、それらを参照カウントし、参照が0になったときにシステムにそれらを削除させます
いくつかの注意:
プログラムがクラッシュした場合、それらを削除するためのatexitハンドラーの確立は機能しません。
現在、Linux固有の方法で、セグメント名にpidを埋め込み、外部プログラムで/ dev / shmをウォークして、未使用のセグメントを見つけようとしています。これには、かなりハック的な方法で外部から定期的にクリーンアップする必要があるという欠点があります。
プログラムは複数のコピーを実行できるため、プログラムの起動時にプログラムが再利用するセグメントに明確に定義された名前を使用することはできません。