1,通过sysctl进行操作,
#sysctl debug.edp.xxxx 显示/proc/sys/debug/edp/xxxx的值
#sysctl -w debug.edp.xxxx=1 将/proc/sys/debug/edp/xxxx值设置为1
2,通过常规的echo和cat等方式操作,
#cat /proc/sys/debug//edp/xxxx 显示文件内容
#echo 1 >/proc/sys/debug//edp/xxxx 修改文件内容
3,系统调用open()/write()等函数操作。
需要通过编程来实现。
semget() 可以使用系统调用semget()创建一个新的信号量集,或者存取一个已经存在的信号量集:系统调用:semget()
原型:intsemget(key_t key,int nsems,int semflg)
返回值:如果成功,则返回信号量集的IPC标识符。如果失败,则返回-1:errno=EACCESS(没有权限)
EEXIST(信号量集已经存在,无法创建)
EIDRM(信号量集已经删除)
ENOENT(信号量集不存在,同时没有使用IPC_CREAT)
ENOMEM(没有足够的内存创建新的信号量集)
ENOSPC(超出限制)
系统调用semget()的第一个参数是关键字值(一般是由系统调用ftok()返回的)。系统内核将此值和系统中存在的其他的信号量集的关键字值进行比 较。打开和存取操作与参数semflg中的内容相关。IPC_CREAT如果信号量集在系统内核中不存在,则创建信号量集。IPC_EXCL当和 IPC_CREAT一同使用时,如果信号量集已经存在,则调用失败。如果单独使用IPC_CREAT,则semget()要么返回新创建的信号量集的标识 符,要么返回系统中已经存在的同样的关键字值的信号量的标识符。如果IPC_EXCL和IPC_CREAT一同使用,则要么返回新创建的信号量集的标识 符,要么返回-1。IPC_EXCL单独使用没有意义。参数nsems指出了一个新的信号量集中应该创建的信号量的个数。信号量集中最多的信号量的个数是 在linux/sem.h中定义的:
得重新编译内核,之前修改源代码的顶层目录下的Makefile文件,比如2.6.29.1内核的Makefile中:VERSION=2PATCHLEVEL=6SUBLEVEL=29EXTRAVERSION=.1欢迎分享,转载请注明来源:夏雨云
评论列表(0条)