Linux 服务端编程(一)

ftok()函数

系统建立IPC通讯 (消息队列、信号量和共享内存) 时必须指定一个ID值。通常情况下,该id值通过ftok函数得到。
函数原型:key_t ftok( const char * fname, int id ); (id>0)
fname就是你指定的文件名(已经存在的文件名),一般使用当前目录。

在一般的UNIX实现中,是将文件的索引节点号取出。(文件重建将会分配一个新的索引节点号)
ftok 返回值组成:hex(id)&0xff03 hex(节点号)&0xffff
传入的id低8位+0x03+ 节点号的低16位。(test on redhat )
可通过 ls -l 查看文件节点值。

Usage

#include 
#include 

int main(int argc,char* argv[])
{
  if(argc!=2)
  {
      puts("usage: keyfile\n");
      return 0;
  }
   printf("%s\n",argv[0]);
   printf("ftok=0x%x\n",ftok(argv[1],1) );
   return 0;
}

你可能感兴趣的:(Linux 服务端编程(一))