我试图弄清楚如果我将 IPC_CREAT
标志与 一起使用会发生什么shmget()
。我使用了另一个进程中已创建的共享内存段的密钥。当我这样做时,调用进程实际上已经与旧进程共享了这个内存段(当然我已经使用附加了这个内存段shmat()
)。那么我是否可以得出这样的结论:如果我使用 IPC_CREAT
已创建的共享内存段,效果是该内存将与调用进程共享?
答案1
是的,就是这个想法。你IPC_CREAT
习惯于允许创造,而非强迫。要强制创建(如果密钥已存在则失败)IPC_CREAT | IPC_EXCL
,.