【问题标题】:Where is POSIX named Semaphore stored?POSIX 命名信号量存储在哪里?
【发布时间】:2016-04-11 07:35:34
【问题描述】:

命名信号量(使用semaphore.h)由/somename; 形式的名称标识,即由一个初始斜杠组成的最多NAME_MAX-4(即251)个字符的空终止字符串,后跟由一个或多个字符组成,其中没有一个是斜线。

因为名称对应于文件系统中的路径名。这个信号量在哪里?

ipcs -s not showing named semaphore as ipcs 用于 System V 信号量。如何定位 POSIX 信号量?

【问题讨论】:

    标签: linux multiprocessing posix semaphore


    【解决方案1】:

    来自sem_overview 手册页:

    在 Linux 上,命名信号量是在虚拟文件系统中创建的,通常安装在 /dev/shm 下,名称格式为 sem.somename。 (这就是信号量名称仅限于NAME_MAX-4 而不是 NAME_MAX 个字符。)

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

    【讨论】:

      猜你喜欢
      • 2012-08-01
      • 2010-10-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-19
      • 2015-07-13
      • 2020-03-20
      相关资源
      最近更新 更多