位置: 编程技术 - 正文

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

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

  • 递延所得税负债怎么算
  • 一般纳税人税率有几种
  • 国际重复征税的前提条件是
  • 利息税怎么算的
  • 劳保用品发放制度文件
  • 暂估库存商品比发票少1分怎么记账
  • 工程项目增值税税率
  • 境外企业提供国外服务
  • 联营扣点方案
  • 并购对利润的影响
  • 债券利息收入的增值税
  • 单位收到社保补缴通知书后怎么办
  • 总公司名义取得的进项发票可以在分公司抵扣吗?
  • 营改增后卖房交的增值税
  • 个体户要申报哪些报表
  • 购进非税货物有折扣怎么做账?
  • 公司名下的房产出租需要交哪些税
  • 其他出库单如何记账
  • windows11怎么显示桌面图标
  • 如何做无票收入的会计分录
  • 上海个人所得税计算器
  • php实现网站访问功能
  • PHP:xml_set_element_handler()的用法_XML解析器函数
  • 企业所得税清算报备是什么意思
  • wordpress主题0skr
  • 进程核心栈
  • PHP:Memcached::setSaslAuthData()的用法_Memcached类
  • 电脑输入法设置搜狗输入法
  • win7旗舰系统
  • 车辆购买保险发票未回怎么做会计分录
  • 自制生产设备领用原材料按照什么确认收入
  • 牛顿地名
  • 国有控股公司改制
  • php7.0新特性
  • php floor
  • php验证码扭曲效果怎么做
  • print函数php
  • 租赁公司的
  • 事业单位一级项目和二级项目区别
  • 增值税的滞纳金税率
  • 售后回购会计处理分录
  • 免税蔬菜交企业所得税吗
  • 保险公司给员工奖励是违法的吗
  • 财务报表里的现金流量表括号是什么意思
  • 递延收益的摊销时点
  • 个体工商户的免税证明
  • 允许抵扣的进项税
  • 统一机构信用代码最后一位校验码
  • 银行承兑汇票的特点
  • 车辆通行费
  • 土地增值税的预征和清算
  • 公司账户转账转错了能退回来吗
  • 代扣代缴城建税为什么没有计入利润
  • 上年未计提所得税,本年怎么做分录
  • 如何审计营业收入
  • centos7.6怎么安装
  • sqlbean
  • win8换win7详细过程
  • vultr vps搭建
  • 清除桌面应用软件
  • win10应用商店更新软件更新不了
  • centos7 wol
  • Cocos2d-x c++和java相互调用
  • 微信小程序倒计时乱跳
  • ExtJs扩展之GroupPropertyGrid代码
  • nodeJS文件操作自动创建目录
  • node文件目录
  • android 布局
  • js获取html自定义属性
  • js setmap
  • 在js里写html
  • android的edittext在哪
  • android 加载更多
  • python append、extend与insert的区别
  • js做运算
  • javascript程序设计教程
  • 怎么打印纳税申报清单
  • 医院开具的电子票据是发票吗
  • 重庆两江新区总工会社会化工作者待遇
  • 初级会计职称可以挂靠吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设