当前位置:七道奇文章资讯安全技术网络技术
日期:2010-10-08 00:34:00  来源:本站整理

成立锁文件到Linux操作系统里[网络技术]

赞助商链接



  本文“成立锁文件到Linux操作系统里[网络技术]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

办法

  锁文件仅仅是充当一个指导器的角色,程序间需求通过彼此合作来利用它们.锁文件只是倡议性锁,与此对峙的是强迫性锁.

  为成立一个用作指导器的文件,我们利用带O_CREATE和O_EXCL标志的open系统调用.这将使我们以一个原子操作同时完成两项工作:肯定文件不存在,然后成立它.

  实现

  //file : lock.c

  #i nclude

  #i nclude

  #i nclude

  #i nclude

  #i nclude

  int main()

  {

  int file_desc;

  int save_errno;

  file_desc = open("/tmp/LockFile.test", O_RDWR   O_CREAT   O_EXCL, 0444);

  if (file_desc < 0)

  {

  save_errno = errno;

  printf("Open failed with error is %dn", save_errno);

  }

  else {

  printf("Open succeededn");

  }

  exit(EXIT_SUCCESS);

  }

  第一次运行程序:

  $ lock

  输出以下:

  Open succeeded

  我们再次运行程序:

  $ lock

  输出以下:

  Open failed with error is 17

  解析:

  第一次运行程序时,由于文件并不存在,所以履行成功.关于后续的履行,因为文件已经存在而失利了.若想程序再次履行成功,必须删除锁文件.

  在Linux系统中,普通错误号码17代表的是EEXIST,此错误用以表示一个文件已存在.错误号定义在头文件errno.h或(更常见的)它所包含的头文件中.


  以上是“成立锁文件到Linux操作系统里[网络技术]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • 成立锁文件到Linux操作系统里
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .