名前付きセマフォ(使用済みsemaphore.h
)は形式の名前で識別されます/somename
。つまり、最大NAME_MAX-4(つまり251)文字で構成される文字列で、最初の文字はスラッシュとそれに続く1つ以上の文字で構成されます。これらの文字のどれもスラッシュではありません。
名前はファイルシステムのパス名と一致するためです。このセマフォはどこにありますか?ipcs
System V セマフォで使用されます。 POSIXセマフォを見つける方法は?
答え1
~から人7 SEM_概要:
ファイルシステムを介して名前付きセマフォにアクセスする
Linuxでは、名前付きセマフォは通常、次の場所にインストールされている仮想ファイルシステムに作成されます。
/dev/shm
、名前の形式はですsem.somename
。 (これがセマフォ名がNAME_MAX文字ではなくNAME_MAX-4に制限される理由です。)
答え2
/proc/<pid>/maps/
特定のPIDを持つプロセスのメモリマップが表示されます。 (関連質問:https://stackoverflow.com/questions/1401359/understanding-linux-proc-id-maps)
出力では、POSIXセマフォは/dev/shm/
。