【发布时间】:2014-08-26 20:27:11
【问题描述】:
我有代码
int shmId = shmget(key, shmBytes, IPC_CREAT | 0666 );
shmAddress = (char *) shmat(shmId, NULL, 0);
/* do some stuff */
/* detach */
shmdt(shmAddress);
我的问题是,我是否需要取消分配使用 shmget 获得的段?还是 shmdt 会处理这个问题?
谢谢!
【问题讨论】:
-
有什么理由在 Linux 上使用 SYSV 共享内存?考虑改用 POSIX 共享内存系统 (
shm_open)。它也更明确地删除 (shm_unlink)。
标签: linux memory-management ipc shared-memory