命名信号量(使用semaphore.h
)由形如/somename;
的名称标识,即一个以空字符结尾的字符串,最多可以包含 NAME_MAX-4(即251)个字符,其中包括了一个起始的斜杠,后跟一个或多个字符,其中没有任何斜杠。
由于名称对应于文件系统中的路径名。这个信号量位于哪里?
ipcs -s not showing named semaphore 因为ipcs是用于System V信号量的。如何找到POSIX信号量?
命名信号量(使用semaphore.h
)由形如/somename;
的名称标识,即一个以空字符结尾的字符串,最多可以包含 NAME_MAX-4(即251)个字符,其中包括了一个起始的斜杠,后跟一个或多个字符,其中没有任何斜杠。
由于名称对应于文件系统中的路径名。这个信号量位于哪里?
ipcs -s not showing named semaphore 因为ipcs是用于System V信号量的。如何找到POSIX信号量?
sem_overview
手册页面中得知:/dev/shm
下,名称形如sem.somename
。(这就是为什么信号量名称的长度被限制在NAME_MAX-4
而不是NAME_MAX
个字符的原因。)sem_open()
之外的任何方式都能看到信号量)。