【问题标题】:How to get list of open posix shared memory segments in FreeBSD如何在 FreeBSD 中获取开放的 posix 共享内存段列表
【发布时间】:2023-03-14 04:25:02
【问题描述】:

在 linux 中,我可以通过获取 /dev/shm 目录列表来获取打开的 posix 共享内存段的列表。

如何以编程方式获取 FreeBSD 中所有打开的 posix 共享内存段的列表? 假设使用 shm_open 打开的段,我什至不知道用作 shm_open 的第一个参数的名称的一部分。

【问题讨论】:

  • 从命令行,ipcs -m 返回正在使用的共享内存段列表。
  • 没有。 ipcs -m 用于系统 V 共享内存。

标签: c posix shared-memory freebsd


【解决方案1】:

你不能。请参阅 /sys/kern/uipc_shm.c 中的注释:

 * TODO:
 *
 * (2) Need to export data to a userland tool via a sysctl.  Should ipcs(1)
 *     and ipcrm(1) be expanded or should new tools to manage both POSIX
 *     kernel semaphores and POSIX shared memory be written?
 *
 * (3) Add support for this file type to fstat(1).

【讨论】:

  • 如果我在我的 Linux 系统 (2.6.32) 上运行 ls -l /dev/shm/,我可以看到共享内存段及其相应的大小。
【解决方案2】:

您可以使用 posixshmcontrol 实用程序。

【讨论】:

  • 真的有这种事吗?在几个具有该名称的多个变体的包管理器中进行搜索,但一无所获。由于此软件包适用于 FreeBSD,并且此问题的作者专门寻找 Linux 解决方案,因此答案很有趣但没用。
猜你喜欢
  • 1970-01-01
  • 2014-10-08
  • 2016-05-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-10-18
  • 2011-04-01
相关资源
最近更新 更多