美文网首页
Linux 服务端编程(一)

Linux 服务端编程(一)

作者: ColdRomantic | 来源:发表于2017-02-24 17:29 被阅读16次

    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 <stdio.h>
    #include <sys/ipc.h>
    
    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 服务端编程(一)

          本文链接:https://www.haomeiwen.com/subject/lamwwttx.html