位置: 编程技术 - 正文

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

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

  • 出库成本是什么意思
  • 商业折扣影响主要因素有
  • 养老保险滞纳金最高限额规定
  • 国际货运代理可以开免税吗
  • 项目差旅费能计入项目费用吗
  • 京东佣金费用计算公式
  • 嵌入式软件运行的主要流程是什么
  • 耕地占用税滞纳金是否能减免
  • 计提的工会经费怎么做账
  • 已经发出的商品怎么修改
  • 贴现利息可以抵扣吗
  • 补计提去年的折旧该怎么做账
  • 保证金抵扣货款合同
  • 重复做了以前做过的梦
  • 航天信息开票步骤
  • 业务招待费税前扣除规定
  • 预提工资是什么科目
  • 加工费计入什么费用
  • 返利是冲减收入还是计入费用
  • 利润出现负数怎么调整
  • 企业购房时支付的房租
  • 业务招待费是什么科目
  • 老板拿的手机
  • 企业第一年利润是多少
  • 珠宝加工税率是多少
  • 2020年前端面试
  • 搭建自己的php mvc框架
  • echarts引入地图
  • php中常量名命名规范
  • vue-cli-service权限不够
  • 简述时期指标和时点指标的特点
  • linux运行c++程序
  • html动画教程
  • openai 入门
  • pytorch csdn
  • php session_id
  • controller控制器怎么调
  • python怎么求列表里的和
  • phpcms教程
  • SQL Server 中 RAISERROR 的用法详细介绍
  • 电脑word怎么学
  • 企业签发银行承兑汇票支付采购款
  • 全年一次性奖金并入或单独哪个好
  • SQL server配置管理器打开TCP/IP后重启不了
  • 营业执照备案登记表
  • 小规模纳税人开专票需要交税吗
  • 公司股东就是董事吗
  • 外贸企业账务处理流程举例讲解
  • 企业购进生产用品税率
  • 办理食品经营许可证需要什么条件
  • 递延所得税如何计提
  • 固定资产改造更新后年限怎么算
  • 社保局退回来的社保怎么入账
  • 冲红专票分录
  • 纳税人id
  • 当期应纳税额是什么意思
  • 新会计准则待摊费用还有吗
  • 工会经费以前没交现在怎么补交
  • 什么是建账户
  • mysql删除和更新效率
  • mysql批量删表
  • xp系统无法启动怎么办
  • windows server 2003 密钥
  • pd虚拟机安装安卓系统
  • freebsd怎么安装软件
  • Win10预览版拆弹
  • ubuntu怎样
  • 苹果mac系统休眠怎么解除
  • win7取消还原
  • notify.exe - notify是什么进程 有什么用
  • JAVA的OPENGL,JOGL入门实例----碰撞移动的正方体 (配置+源代码)
  • html头像代码
  • react jss
  • 在浏览器中打开是什么意思
  • 各种手机ui大全
  • 房地产开发商要交哪些税和费用
  • 已抵扣过的进项怎么做账
  • 季报逾期申报怎么写
  • 个人出租平台有哪些
  • 纳税申报期限2023
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设