0906使用semget函数创建一个信号量集,并返回该信号量集的描述符

/*

  • 编写一个程序,使用semget函数创建一个信号量集,并返回该信号量集的描述符
    */

#include <stdio.h>
#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/shm.h>

#define SEM_PATH "/unix/my_sem"
int main(int argc, char *argv[])
{
int flag,key;
flag=IPC_CREAT|IPC_EXCL|00666;
key=ftok(SEM_PATH,'a');
semid=semget(key,1,flag);
if(key==-1)
{
perror("ftok error\n");
exit(1);
}
if(semid<0)
{
perror("semget");
exit(1);
}
printf("semid is %d\n",semid);
return 0;
}