深入探索 System V 信号量:从基础到应用
1. 引言
System V 信号量具有内核持久性,这意味着其值能在不同程序间由内核维护。为了更好地展示其使用方法,接下来将介绍几个简单程序,用于创建、操作和删除信号量集。
2. 简单程序介绍
2.1 创建信号量集程序(semcreate)
该程序用于创建一个 System V 信号量集。命令行选项 -e 可指定 IPC - EXCL 标志,最后一个命令行参数需指定信号量集中信号量的数量。
// svsern/serncreate.c
#include "unpipc.h"
int
main(int argc, char **argv)
{
int c, oflag, semid, nsems;
oflag = SVSEM_MODE | IPC_CREAT;
while ((c = Getopt(argc, argv, "e")) != -1) {
switch (c) {
case 'e':
oflag |= IPC_EXCL;
break;
}
}
if (optind != argc - 2)
err_quit("usage: semcreate [ -e ] <pathname> <nsems>");
nsems = atoi(argv[optind + 1])
超级会员免费看
订阅专栏 解锁全文
2241

被折叠的 条评论
为什么被折叠?



