位置: 编程技术 - 正文

linux 新手教程之创建锁文件的方法(linux简明教程)

编辑:rootadmin
一、概述 Linux提供了多种特性来实现文件锁定。其中最简单的方法就是以原子操作的方式创建锁文件,所谓“原子操作”就是在创建锁文件时,系统将不允许任何其它的事情发生。这就给程序提供了一种确保它所创建的文件是唯一性的方式,且该文件不可能被其它程序在同一时刻创建。 二、方法 锁文件仅仅是充当一个指示器的角色,程序间需要通过相互协作来使用它们。锁文件只是建议性锁,与此对立的是强制性锁。 为创建一个用作指示器的文件,我们使用带O_CREATE和O_EXCL标志的open系统调用。这将使我们以一个原子操作同时完成两项工作:确定文件不存在,然后创建它。 三、实现 复制代码代码如下: //file : lock.c #i nclude <unistd.h> #i nclude <stdlib.h> #i nclude <stdio.h> #i nclude <fcntl.h> #i nclude <errno.h> int main() { int file_desc; int save_errno; file_desc = open("/tmp/LockFile.test", O_RDWR | O_CREAT | O_EXCL, ); 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 分析: 第一次运行程序时,由于文件并不存在,所以执行成功。对于后续的执行,因为文件已经存在而失败了。若想程序再次执行成功,必须删除锁文件。 在Linux系统中,通常错误号码代表的是EEXIST,此错误用以表示一个文件已存在。错误号定义在头文件errno.h或(更常见的)它所包含的头文件中。

推荐整理分享linux 新手教程之创建锁文件的方法(linux简明教程),希望有所帮助,仅作参考,欢迎阅读内容。

linux 新手教程之创建锁文件的方法(linux简明教程)

文章相关热门搜索词:linux新手入门,linux的快速入门,linux入门基础教程,linux详细教程,linux入门基础教程,linux 初学,linux新手知识,linux新手知识,内容如对您有帮助,希望把文章链接给更多的朋友!

光驱的软开关与限速简介 一、光驱的软开关:eject-rcdrom,弹开指定光驱设备的仓门,如只有一个光驱,直接用eject就可,如有两个光驱设备根据/dev/下设备文件来指定设备,如我

配置Linux 保证其系统的安全 众所周知,网络安全是一个非常重要的课题,而服务器是网络安全中最关键的环节。Linux被认为是一个比较安全的Internet服务器,作为一种开放源代码操

黑客怎样入侵Linux系统 我发现了一个网站,于是常规入侵。很好,它的FINGER开着,于是我编了一个SHELL,aaa帐号试到zzz(bytheway,这是我发现的一个网上规律,那就是帐号的长度

标签: linux简明教程

本文链接地址:https://www.jiuchutong.com/biancheng/365515.html 转载请保留说明!

上一篇:Wine 中文存在很多的乱码怎么解决方法(winedt中文界面)

下一篇:光驱的软开关与限速简介(开关光驱是平移还是旋转)

  • 专票税号不对可以认证吗
  • 应税消费品是什么意思
  • 实质课税原则是税法基本原则吗
  • 研发费用加计扣除是什么意思啊
  • 现金日记账登记错误怎么更正
  • 基本户如果没有资金往来
  • 银行回单电子退库是什么意思
  • 上年多计提增值税,今年如何调整
  • 先结转损益还是先结转本年利润
  • 餐饮个体工商户交税标准
  • 垫资公司怎么收费50万
  • 公司一上来要签三年
  • 服务合同需要征税吗
  • 政府扶贫支出
  • 委托加工的材料计入什么科目
  • 建筑公司收取的管理费如何入账
  • 应付股东款可以结转实收资本吗
  • 纳税评估滞纳金会计分录怎么处理?
  • 工业企业月末结转分录
  • 资本公积要交印花税账簿税吗
  • 从财务报表中可以了解企业的哪些信息?作用是什么?
  • 一般纳税人具备的资格需要哪些条件
  • 个体户需要记账嘛
  • 房地产公司简易计税增值税
  • 毛利润,纯利润
  • 财务报表未分配利润为负数
  • 怎么跟银行谈停息挂账
  • 微软输入法繁体字变简体字
  • 销售预售卡如何入账
  • 所得税和所得税税率
  • 确保政府采购
  • 股权融资服务协议
  • 小规模纳税人的个人所得税怎么算
  • thinkphp 分页
  • bash的主要功能
  • 购买方销项负数发票怎么抵扣
  • 企业正常性停产什么意思
  • 固定资产怎么进行无形资产清理的
  • 有形动产租赁服务的增值税税率
  • 会计付租金会计分录
  • 弹性预算列表法
  • 外汇收入需要缴纳增值税吗
  • 机票差额发票和全额发票的区别
  • 小规模纳税人进项票可以抵扣吗
  • 计提短期借款利息分录
  • 写字楼物业费按照什么面积
  • 出口货物质量不足怎么办
  • 以他人名义投资该签订什么协议
  • 报销管理规定
  • 税控系统维护费可以全额抵扣吗
  • 总公司是一般纳税人分公司是什么
  • 员工的车是否可以抵税
  • 实际利率法仅仅适用于具有本金和利息
  • mac升级最新系统会卡么
  • userint32.exe - userint32是什么进程
  • win7系统升级到win10后,还能还原回来吗
  • win7检测有错误怎么办
  • 如何关闭自动启动项目
  • 注册表winlogon
  • win8系统恢复
  • win7关闭445端口 注册表
  • 微信小程序获取手机号失败
  • node与js的区别
  • Web Safe Color Pallette
  • c# opengl绘图
  • jquery 定位
  • table标签怎么设置宽高
  • python科学绘图
  • js网页自动化
  • python 解析js
  • jq倒计时代码
  • android基础入门教程
  • eclipse怎么写python程序
  • 常见的java数据类型有哪些
  • androidstudio离线配置环境
  • python中for循环写法
  • 国家税务局增值税查验平台
  • 北京地税税务总局官网
  • 江西省电子税务局公众查询
  • 股权转让税务备案时间
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设