命名信号量(使用semaphore.h)由表单/somename;的名称标识,即以null结尾的字符串最多为NAME_MAX-4 (即251个),该字符串由一个初始斜杠组成,后面跟着一个或多个字符,没有一个字符是斜杠。
因为名称对应于文件系统中的路径名。这个信号量在哪里?
ipcs -s not showing named semaphore作为ipc是系统V semaphores.How定位POSIX信号量?
发布于 2016-04-11 14:31:49
来自sem_overview手册页:
在Linux上,命名信号量是在虚拟文件系统中创建的,该文件系统通常在
/dev/shm下挂载,其名称为表单sem.somename。(这就是信号量名称仅限于NAME_MAX-4而不是NAME_MAX字符的原因。)
不要期望这个细节在非Linux系统上是非常相似的(实际上,除了sem_open()之外,不要期望信号量是可见的)。
https://stackoverflow.com/questions/36542516
复制相似问题