読み取りまたは書き込み中に共有メモリとセマフォを使用してロックする簡単なプログラムを作成しています。プログラムが終了したら、すべての共有メモリとセマフォを削除する必要があります。関数 seminit、semrm、semgrab、semdown、semup を実装する独自の sem ライブラリを取得しました。プログラムは動作していますが、セマフォの削除部分については不明です。
すべてのセマフォは最後に削除する必要があるため、プログラムが複数回呼び出されている間、いつ削除すればよいですか? つまり、それらがまだ使用されている間はそれらを削除しないようにする必要があります。まだ使用されているかどうかを確認する可能性はありますか?
この問題にどう対処すればよいかわかりません。
簡単な問題の要約: programm が複数回呼び出され、最後にセマフォを削除する必要があります。それを処理する必要があるのは 1 つのプログラムのみであり、別のプログラムがクリーンアップする必要はありません。