将 IPC_CREAT 与已创建的共享内存段一起使用

将 IPC_CREAT 与已创建的共享内存段一起使用

我试图弄清楚如果我将 IPC_CREAT标志与 一起使用会发生什么shmget()。我使用了另一个进程中已创建的共享内存段的密钥。当我这样做时,调用进程实际上已经与旧进程共享了这个内存段(当然我已经使用附加了这个内存段shmat())。那么我是否可以得出这样的结论:如果我使用 IPC_CREAT已创建的共享内存段,效果是该内存将与调用进程共享?

答案1

是的,就是这个想法。你IPC_CREAT习惯于允许创造,而非强迫。要强制创建(如果密钥已存在则失败)IPC_CREAT | IPC_EXCL,.

相关内容