key_t键和ftok函数
目录
- `key_t键`、`ftok函数`
key_t键
、ftok函数
key_t ftok(const char *pathname, int proj_id);
功能:通过ftok返回的是根据文件(pathname)信息和计划编号(proj_id)合成的IPC key键值。
返回值:成功:返回key_t值(即IPC键值);失败:-1,错误原因在error中
参数:
pathname:指定的文件,此文件必须存在且可存取
proj_id:计划代号(project ID)===>"proj_id值的意义"让一个文件也能生成多个IPC key键值。ftok利用同一文件最多可得到IPC key键值0xff(即256)个,因为ftok只取proj_id值二进制的后8位,即16进制的后两位与文件信息合成IPC key键值。
key = ftok("./",'a');msg_id = msgget(key,IPC_CREAT|IPC_EXCL|0666);//创建
if(msg_id == -1)
{if(errno == EEXIST){//printf("key_t已经存在,打开已经存在的key_t\n");key = ftok("./",'a');msg_id = msgget(key,IPC_CREAT|0666);}else{perror("msget");exit(-1);}
}
key_t键和ftok函数相关推荐
- key_t键和ftok函数(转)
key_t键 System V IPC使用key_t值作为它们的名字,在Redhat linux(后续验证默认都在该平台下)下key_t被定义为int类型,追溯如下: /usr/include/sys ...
- 【IPC通信】key_t键和ftok函数
System V IPC分为三种: System V消息队列 System V信号量 System V共享内存区 这三种类型的IPC使用key_t值做为它们的名字.key_t这个数据类型在<sy ...
- key_t IPC键和ftok函数详解和剖析
统建立IPC通讯(如消息队列.共享内存时)必须指定一个ID值.通常情况下,该id值通过ftok函数得到. ftok原型如下: key_t ftok( char * fname, int id ) fn ...
- ftok()函数解析
ftok 消息队列.信号灯.共享内存常用在Linux服务端编程的进程间通信环境中.而此三类编程函数在实际项目中都是用System V IPC函数实现的.System V IPC函数名称和说明如下表15 ...
- ftok() 函数讲解 获取内核键值
ftok() 函数之获取消息队列的键值 1.概述: 系统建立IPC通讯(消息队列.信号量和共享内存)时必须指定一个ID值,通常情况下,该ID值通过ftok函数得到. 2.原型: #include &l ...
- linux C -- ftok函数
链接: linux C学习目录 原文链接:https://blog.csdn.net/u013485792/article/details/50764224 关于ftok函数,先不去了解它的作用来先说 ...
- ftok函数的作用:
ftok函数的作用: 系统建立IPC通讯(如消息队列.共享内存时)必须指定一个ID值.通常情况下,该id值通过ftok函数得到. ftok原型如下: key_t ftok( char * fname, ...
- ftok()函数的使用
在上一篇文章中,Mayuyu讲述了共享内存的原理以及使用方法.在创建共享内存之前,必须指定一个ID值,而这个ID值通常是通过现在要讲的ftok()函数得到.ftok()函数原型如下 其中参数fname ...
- ftok函数的key值是如何产生的
函数原型 key_t ftok(const char *pathname, int proj_id) 函数作用 返回一个key值,这个键值是唯一的,可以用它来识别文件,作为文件的身份证号.之后 ...
最新文章
- 【Python之路】第二篇--初识Python
- 把本地mysql备份到服务器innodb_使用mysql备份工具innobackupex将本地数据 直接恢复 到远端服务器数据目录操作实例...
- 连信的protobuf数据格式
- 合成孔径成像算法与实现_西安光机所光学成像研究取得进展
- 四章: CentOS6.5 配置连接Windows远程桌面、创建新用户、禁用root在本地或远程使用ssh登录
- 五分钟轻松搞定产品需求文档!这可能史上最全PRD文档模板…
- C/C++ 语言中的表达式求值
- RT-Thread pin设备驱动代码结构剖析
- PHP能不能让一串代码现实,一段让你认清现实的Java代码.java
- php无法用mail函数发送邮件之原因
- SQL-10 获取所有非manager的员工emp_no
- 兴奋:支持安卓(android)、苹果手机和平板电脑的WayOs版本
- Git linux下保存密码方法
- 初中理化生实验室仪器配置
- FTT暴雷加密熊市雪上加霜?如何对抗系统风险
- 有关如何用html制作电影影评网,初阶展示
- iphone6+总显示无服务器,iphone6一直显示无服务为什么啊
- ubuntu 16.04安装TP-LINK TL-WDN5200H无线USB网卡驱动
- python爬虫: 使用knn算法破解猫眼动态字体反爬
- 下一个汽车时代来临——诚迈科技赛道超车,布局“域控软件”