新手看招:在Linux操作系统下创建锁文件
- 2023-01-11 05:27:23
- 来源:其他
- 在手机上看
扫一扫立即进入手机端
一、概述
Linux提供了多种特性来实现文件锁定。其中最简单的方法就是以原子操作的方式创建锁文件,所谓“原子操作“就是在创建锁文件时,系统将不允许任何其它的事情发生。这就给程序提供了一种确保它所创建的文件是唯一性的方式,且该文件不可能被其它程序在同一时刻创建。
二、方法
锁文件仅仅是充当一个指示器的角色,程序间需要通过相互协作来使用它们。锁文件只是建议性锁,与此对立的是强制性锁。
为创建一个用作指示器的文件,我们使用带O_CREATE和O_EXCL标志的open系统调用。这将使我们以一个原子操作同时完成两项工作:确定文件不存在,然后创建它。
三、实现
|
第一次运行程序:
$ lock
输出如下:
Open succeeded
我们再次运行程序:
$ lock
输出如下:
Open failed with error is 17
分析:
第一次运行程序时,由于文件并不存在,所以执行成功。对于后续的执行,因为文件已经存在而失败了。若想程序再次执行成功,必须删除锁文件。
在linux系统中,通常错误号码17代表的是EEXIST,此错误用以表示一个文件已存在。错误号定义在头文件errno.h或(更常见的)它所包含的头文件中。
相关资讯
更多游戏推荐
-
影视大全官方版最新手机版
中文|62.0M
-
gif豆豆最新手机版
中文|70.0M
-
ThinkPHP3.1新手入门手册
中文|487KB
-
友趣安驾
中文|16.4M
-
王者雄风游戏
中文|103.2M
-
最美证件照电脑版
中文|99.3M
-
影视大全官方版最新手机版
中文|62.0M
-
gif豆豆最新手机版
中文|70.0M
-
ThinkPHP3.1新手入门手册
中文|487KB
-
小小漫画家3游戏
中文|96.7M
-
索尔加德传奇游戏手机版
中文|144.4M
-
像素城市枪战游戏
中文|181M
-
蓝钻成长值查询
中文|452KB
-
成长兔英语
中文|98.8M
-
育儿成长手册手机版
中文|81.0M
-
兰海说成长手机版
中文|64.8M
-
影视大全官方版最新手机版
中文|62.0M
-
gif豆豆最新手机版
中文|70.0M
-
崩坏女孩大作战游戏最新版本
中文|133M
-
现代僵尸掩护作战最新免费版
中文|45.8M
-
球球大作战360版
中文|13.1M
-
火柴人闯关大作战
中文|39.13MB
-
300大作战360版本安装包
中文|1.37G
-
九游300大作战最新版本
中文|1.27G
-
影视大全官方版最新手机版
中文|62.0M
-
gif豆豆最新手机版
中文|70.0M
-
ThinkPHP3.1新手入门手册
中文|487KB
-
sql server 2000精品教程打包
中文|696.7M
-
ps cc完全自学教程 李金明中文版
中文|52M
-
思科网络技术学院CCNA中文教程
中文|62.3M
-
影视大全官方版最新手机版
中文|62.0M
-
gif豆豆最新手机版
中文|70.0M
-
ThinkPHP3.1新手入门手册
中文|487KB
-
华为欧拉操作系统
中文|17.31G
-
xb21cn Windows Server 2022微软服务器版操作系统
中文|2.58G
-
凝思Linux操作系统
中文|3.58G
-
XMOS-Stereo-USB-Audio-Class2 win10系统驱动+usb补丁
中文|
-
云之家桌面版oa办公系统
中文|156.2M
-
ARK工具YDArk系统内核工具
中文|12.2M
-
中银证券通达信网上交易新一代系统
中文|85.4M
-
生产企业出口退税申报系统
中文|163.4M
-
华为欧拉操作系统
中文|17.31G
-
影视大全官方版最新手机版
中文|62.0M
-
gif豆豆最新手机版
中文|70.0M
-
ThinkPHP3.1新手入门手册
中文|487KB
-
友趣安驾
中文|16.4M
-
王者雄风游戏
中文|103.2M
-
最美证件照电脑版
中文|99.3M
-
编程猫官方手机版
中文|122.1M
-
宜享花官方版
中文|69.8M
-
装扮二次元漫画女孩官方版
中文|
-
大航海狼人杀官方最新版
中文|
-
放学别跑5v5官方版
中文|157.3M
-
航海王强者之路官方客户端
中文|1.15G
-
方舟生存模拟最新版本
中文|260.6M
-
生存岛进化求生中文版
中文|387.9M
-
愤怒的小鸟进化最新版(AB Evolution)
中文|395.4M
-
剑阵诛仙异兽吞噬进化手游
中文|749M
-
世界战争进化史最新版本
中文|99.6M
-
超究极体进化满v变态版
中文|
-
荒野乱斗先锋服最新版本
中文|289.4M
-
火柴人之荒野混战免费版
中文|85.7M
-
荒野战争模拟行动
中文|188 MB
-
荒野乱斗九游版本
中文|289.4M
-
荒野伐木高手官方版
中文|28.6M
-
荒野猎人杀手游戏
中文|51M
-
影视大全官方版最新手机版
中文|62.0M
-
gif豆豆最新手机版
中文|70.0M
-
ThinkPHP3.1新手入门手册
中文|487KB
-
荒野乱斗先锋服最新版本
中文|289.4M
-
火柴人之荒野混战免费版
中文|85.7M
-
荒野战争模拟行动
中文|188 MB
-
影视大全官方版最新手机版
中文|62.0M
-
gif豆豆最新手机版
中文|70.0M
-
ThinkPHP3.1新手入门手册
中文|487KB
-
友趣安驾
中文|16.4M
-
王者雄风游戏
中文|103.2M
-
最美证件照电脑版
中文|99.3M
-
疾风英雄联盟满v变态版
中文|
-
影视大全官方版最新手机版
中文|62.0M
-
gif豆豆最新手机版
中文|70.0M
-
ThinkPHP3.1新手入门手册
中文|487KB
-
友趣安驾
中文|16.4M
-
王者雄风游戏
中文|103.2M
-
影视大全官方版最新手机版
中文|62.0M
-
gif豆豆最新手机版
中文|70.0M
-
ThinkPHP3.1新手入门手册
中文|487KB
-
饥荒自带人物mod版
中文|261.0M
-
检查需要的视频解码器(CodecInstaller)
中文|3.1M
-
咪咕视频电视版安装包(咪视界)
中文|36.7M
-
饥荒自带人物mod版
中文|261.0M
-
影视大全官方版最新手机版
中文|62.0M
-
gif豆豆最新手机版
中文|70.0M
-
ThinkPHP3.1新手入门手册
中文|487KB
-
sql server 2000精品教程打包
中文|696.7M
-
ps cc完全自学教程 李金明中文版
中文|52M
-
宝宝巴士宝宝家庭日
中文|82.3M
-
宝宝巴士奇妙的动物家庭
中文|101.7M
-
eset smart security个人家庭版网络安全套装高级版
中文|46M
-
八桂教学通教师pc端
中文|227.2M
-
教师资格考试云题库
中文|109.1M
-
优路教师客户端
中文|10.2M
-
影视大全官方版最新手机版
中文|62.0M
-
gif豆豆最新手机版
中文|70.0M
-
ThinkPHP3.1新手入门手册
中文|487KB
-
友趣安驾
中文|16.4M
-
王者雄风游戏
中文|103.2M
-
最美证件照电脑版
中文|99.3M
-
生存岛进化求生中文版
中文|387.9M
-
愤怒的小鸟进化最新版(AB Evolution)
中文|395.4M
-
剑阵诛仙异兽吞噬进化手游
中文|749M
-
世界战争进化史最新版本
中文|99.6M
-
超究极体进化满v变态版
中文|
-
奥特曼格斗进化零手机版
中文|281.4M
-
极品芝麻官手游最新版
中文|569.2M
-
芝麻孕育
中文|30.6M
-
小小漫画家3游戏
中文|96.7M
-
索尔加德传奇游戏手机版
中文|144.4M
-
像素城市枪战游戏
中文|181M
-
无敌小枪神游戏
中文|108M