1

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

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

我的问题是:

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

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

谢谢!

4

1 回答 1

1

您可以使用shmctl删除和创建您自己的大小之一。我认为如果遗留代码无法 shmget,它将尝试使用现有的共享内存?

于 2010-02-14T15:47:36.473 回答