【问题标题】:Boost shared memory. How many processes are currently using the shared memory?提升共享内存。当前有多少进程正在使用共享内存?
【发布时间】:2011-07-06 13:20:40
【问题描述】:

我正在使用 boost 库在进程之间共享一些内存;

boost::interprocess::managed_shared_memory managed_shm(boost::interprocess::open_or_create, "shm", 1024);

有没有办法找出当前有多少进程正在访问该内存?

【问题讨论】:

    标签: c++ linux boost ipc shared-memory


    【解决方案1】:

    如果可以获取底层 SHM ID,则可以使用 shmctl 函数获取附加了该段的进程数。

    【讨论】:

    • 听起来不错,可以与常规内存共享一起使用。但是使用 boost 时如何获取底层 SHM ID?
    • 在底层 xsi_shared_memory 对象上有一个 get_shmid 方法。你真的应该阅读文档。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-29
    • 1970-01-01
    • 1970-01-01
    • 2014-10-08
    相关资源
    最近更新 更多