标签: linux shared-memory
我有一些使用shmget / shmat / shmdt创建,附加和管理共享内存段的遗留代码。
带有代码的应用程序有时会崩溃,将这些段留在内存中。代码重新使用相同的段密钥重新连接到它们,但问题是它每次都使用不同的共享内存大小,因此无法连接。
我的问题是:
1)是否可以在连接时更改共享内存大小?
2)如果没有,我如何连接到共享内存段(即使我可能不知道大小),以便将其删除(以便以后重新创建更新的内容)?
谢谢!
答案 0 :(得分:1)
您可以使用shmctl删除并创建自己的尺寸。我假设遗留代码将尝试使用现有的共享内存,如果它无法shmget?