Skip to content

Latest commit

 

History

History
24 lines (21 loc) · 780 Bytes

semget.md

File metadata and controls

24 lines (21 loc) · 780 Bytes

System V提供的三种IPC进制,有异曲同工之妙。

semget

创建信号量结合 ###函数原型

#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/sem.h>

int semget(key_t key, int nsems, int semflg);

###参数 参数含义,与msgget类似,只是比它多了第二个参数。

  • key为ftok函数创建。
  • nsems为创建的信号量的个数,每个信号量以数组方式存储。
  • semflg用来标识信号量结合的权限。如0700。此外还可以附加以下ipc参数:
宏名 描述
IPC_CREAT 如果key不存在,则创建*(类似open函数的O_CREAT)*
IPC_EXCL 如果key存在,则返回失败*(类似open函数的O_EXCL)*
IPC_NOWAIT 如果需要等待,则直接返回错误