2016-04-11 51 views
3

命名信号量(使用semaphore.h)由形式/somename;即,一个NULL结尾的字符串的名称标识多达NAME_MAX-4(即,251)由初始斜线的字符,接着是一个或多个字符,其中没有一个是斜杠。POSIX名为Semaphore存储在哪里?

正如其名称所对应的文件系统路径。这个信号灯位于何处?

ipcs -s not showing named semaphore as ipcs for System V semaphores.How to locate POSIX semaphores?

回答

3

sem_overview手册页:

在Linux上,在一个虚拟文件系统,通常安装/dev/shm下,与形式sem.somename的名称创建命名信号。 (这是一个信号名称被限制为NAME_MAX-4而非 NAME_MAX字符的原因。)

不要指望这个细节是在非Linux系统上远程相似的(事实上,甚至不指望信号量通过除sem_open()以外的任何方式可见)。