【发布时间】:2024-01-17 20:33:01
【问题描述】:
当您使用 C for Unix 编写使用共享内存的数据供应商应用程序时,您何时仅在服务器退出或完成更新共享内存时分离共享内存?
【问题讨论】:
-
当服务器退出时我会这样做。当然,恕我直言。
-
如果服务器分离,客户端仍然可以访问共享内存吗?
标签: shared-memory
当您使用 C for Unix 编写使用共享内存的数据供应商应用程序时,您何时仅在服务器退出或完成更新共享内存时分离共享内存?
【问题讨论】:
标签: shared-memory
AFAIK,保持连接不会打扰。
但是,由于附件会跟踪附加的进程数,如果该计数大于 0,则在该计数恢复为 0 之前(换句话说,当所有进程都分离时),您将无法销毁您的 shm。 如果您附加了主进程,我不确定您是否能够从外部“管理”进程中为您销毁它。
根据我的个人经验,我不会在写操作后分离 SHM,仅在进程退出时。
【讨论】: