【发布时间】:2016-08-01 09:14:17
【问题描述】:
我在 Linux 上有一个 C++ 应用程序。应用程序使用在没有 IPC_PRIVATE 的情况下创建的共享内存。我可以使用 ipcs 命令查看共享内存段 ID 和密钥。其他进程也可以访问这些段。
不幸的是,有时密钥变为 0 并且没有其他进程密钥访问这样的段。我在这里的相关问题中看到,0 的值意味着一个段是私有的。从另一方面看,我看不出它是如何做到的。更不用说我没有明确地这样做。
我的问题是:
- 如何调查此问题?
- 如何从进程中查看分段状态(私有/共享)?
- 我可以在进程中将分段状态改回共享吗?
【问题讨论】:
标签: c++ linux shared-memory