首页 > 代码库 > Posix与System V共享内存函数区别

Posix与System V共享内存函数区别

Posix标准
shm_open:打开或创建一个共享内存区
shm_unlink:删除一个共享内存区
ftruncate
调整文件或共享内存区大小
sem_open:创建信号量
sem_wait:等待信号量
sem_post:发送信号量
sem_close:关闭信号量

System V标准
ftok:生成key
shmget:
建立共享内存
shmdt:删除共享内存区
semget:创建信号量
semop:操作信号量
semctl:控制信号量


简单解释一下ipcs命令和ipcrm命令。
取得ipc信息:
ipcs [-m|-q|-s]
-m 输出有关共享内存(shared memory)的信息
-q 输出有关信息队列(message queue)的信息
-s 输出有关“遮断器”(semaphore)的信息
%ipcs -m

删除ipc
ipcrm -m|-q|-s shm_id
%ipcrm -m 105

SystemV代码删除:
semctl(m_sem_id,0, IPC_RMID);
shmctl(m_shm_id,IPC_RMID,NULL);

Linux感觉对SystemV要支持好一点,很多老版本都不支持Posix相关函数

Posix与System V共享内存函数区别