很不幸的是,不行.POSIX信号量规范中没有sem_name(或任何你称之为)函数.也没有特定于Linux的解决方法,因为它没有提供任何一个,也没有将名称存储在其中,其名称定义为sem_namesem_t<bits/semaphore.h>
typedef union
{
char __size[__SIZEOF_SEM_T];
long int __align;
} sem_t;
Run Code Online (Sandbox Code Playgroud)
这些文件/proc/sys/kernel/sem和/proc/sysvipc/sem似乎并不包含任何信息.
因此,您最好的选择是在执行时自己存储名称sem_open,最好是在包装类中.请参阅此答案以获取示例包装类.