私は を使用してshmgetおりshmat、shmctlそれぞれ共有メモリ セグメントを取得および作成し、プロセスのアドレス空間にアタッチして削除します。
プロセスが共有メモリセグメントを切り離して使用できるかどうか疑問に思っています
shmctl(id, IPC_RMID, ...)
1つのプロセスで。
man ページから情報を取得できません。
IPC_RMID破棄するセグメントをマークします。セグメントが実際に破棄されるのは、最後のプロセスがセグメントを切り離した後 (つまり、shm_nattch関連付けられた構造体のメンバーshmid_dsがゼロのとき) だけです。呼び出し元は、所有者または作成者であるか、特権を持っている必要があります。 セグメントが破棄対象としてマークされている場合、によって取得された関連データ構造内のフィールドの (非標準)SHM_DESTフラグが設定されます。shm_perm.modeIPC_STAT