位置: 编程技术 - 正文

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中文界面)

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

  • 免抵退税办法不得抵扣的进项税额的会计处理
  • 购销合同印花税计税金额含税吗
  • 税金及附加借贷科目
  • 三免三减半如何申报企业所得税
  • 增值税 抵扣联
  • 什么是实收资本其入账价值如何确定
  • 季度申报所得税可以研发费加计扣除
  • 代扣代缴增值税怎么做账
  • 运费单独开票的账务处理
  • 行政事业单位无偿调拨资产会计处理
  • 购买旧固定资产的增值税进项税
  • 长期应付款预算会计
  • 汇算清缴期结束后税务机关发现企业应当取得而未取得
  • 小规模纳税人的认定标准是什么
  • 股权转让的印花税是按照什么金额缴纳
  • 如何倒算税前工资的公式
  • 哪些收入应计入成本
  • 非全日制劳动用工扣税
  • 银行存款账不平怎么办
  • 雇主责任保险
  • 企业跨年度的收入退回应该如何进行会计处理?
  • 政府专项基金是什么
  • 电脑自动安装乱七八糟的软件win7
  • 潜水时看到的鱼
  • vue-nginx刷新404问题
  • php destruct
  • 取得短期借款会计分录
  • 汽车租赁的法律
  • 公积金提取条件资料
  • 人力资源公司的招聘专员怎么样
  • 公司地面硬化财务如何入账
  • dedecms配置
  • 固定资产盘亏要改变资产原值吗
  • 可以采用
  • sql2008降级2005
  • 小规模纳税人税额怎么算
  • 废料处理没开票销项税
  • 计提的费用收到发票时候怎么做账
  • 调研费用包括哪些项目
  • 会计人要求
  • 规模以上企业纳税要求
  • 利息支出税前扣除时点
  • 进项税额转出再转入
  • 建筑公司工资如何
  • 固定资产是否可调剂
  • 企业缴纳社保费包括企业部分和个人部分
  • 水利基金和印花税会计分录
  • 工程结算科目是一级科目吗?
  • 生产销售库存表
  • 数据库中多表连接的方式
  • sqlserver数据类型怎么用
  • 微软9月22
  • 系统组策略打不开
  • windowsserver2008r2密码重置
  • ubuntu20开机自启动
  • linux磁盘管理fdisk
  • win10更新后自动锁定
  • windows10mobile官网
  • windos8怎么样
  • 如何在mac中安装五笔字型输入法
  • 东芝笔记本配件
  • 电脑如何将win10设置为win7
  • win8锁定屏幕
  • win10系统开机重装教程
  • win7系统怎么截图然后保存
  • es6展开符
  • nodejs实现文件压缩下载
  • css鼠标移入显示
  • 编写批处理运行程序
  • 批处理是什么意思
  • nodejs 代理请求
  • js有多重模块定义方式
  • javascript判断
  • 理解JavaScript事件对象
  • 简单的安卓代码
  • jquery跳出方法
  • twist python
  • 潍坊昌邑售房信息
  • 增值税专票红冲退税
  • 税务局自助终端
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设