更改现有共享内存段大小

时间:2010-02-14 15:34:52

标签: linux shared-memory

我有一些使用shmget / shmat / shmdt创建,附加和管理共享内存段的遗留代码。

带有代码的应用程序有时会崩溃,将这些段留在内存中。代码重新使用相同的段密钥重新连接到它们,但问题是它每次都使用不同的共享内存大小,因此无法连接。

我的问题是:

1)是否可以在连接时更改共享内存大小?

2)如果没有,我如何连接到共享内存段(即使我可能不知道大小),以便将其删除(以便以后重新创建更新的内容)?

谢谢!

1 个答案:

答案 0 :(得分:1)

您可以使用shmctl删除并创建自己的尺寸。我假设遗留代码将尝试使用现有的共享内存,如果它无法shmget?