免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4733 | 回复: 8
打印 上一主题 下一主题

shell 有没有文件锁的概念,或实现类似文件锁的功能? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-05-20 14:12 |只看该作者 |倒序浏览
我想问一下,我一个shell程序向一个文件写数据,另一个shell程序切割文件并读取切割后的读数据,但我担心写文件的程序正写一半读文件的程序就读了,shell里有没有文件锁的概念啊,象unix 里面的 fcntl 系统调用?
或者我这样想的,锁文件时就创建一个临时文件,写入一个数据,解锁时就删除这个文件,并且对比这个数据和自己写入的是否相同,请告诉指点下啊!

论坛徽章:
0
2 [报告]
发表于 2011-05-20 14:14 |只看该作者
第一次听说这样的机制,学习学习...楼下的一定要说出来哦....

论坛徽章:
0
3 [报告]
发表于 2011-05-20 14:20 |只看该作者
我想的肯定是不行的,根本不是原子操作,唉,也不知道shell有没有这种功能,但是我需要保证每条记录完整啊,怎么办呢?

论坛徽章:
0
4 [报告]
发表于 2011-05-20 16:06 |只看该作者
export 一个变量或者标记,写的时候设置为false 写完设置为 true ,读的脚本开始就检查 这个变量或者标记,然后再开始你的逻辑

论坛徽章:
1
水瓶座
日期:2013-11-04 13:16:13
5 [报告]
发表于 2011-05-20 16:10 |只看该作者
回复 4# ri0day

学习

论坛徽章:
0
6 [报告]
发表于 2011-05-20 22:02 |只看该作者
回复 1# wang_guang_ping


    没大听懂你的问题,不妨举个例子。
    我理解的是,是不是有两个程序对一个文件进行操作,逻辑上是有先后的,但实际中可能同时操作。
   解决办法:
   有没有文件锁我不清楚,不过你可以在写文件时把文件加个后缀,file.temp。写完后,再rename回来,这样分割程序就可以
   对写完的文件进行操作了。

论坛徽章:
0
7 [报告]
发表于 2011-05-20 22:56 |只看该作者
哎,可惜啊,我估计这里应该没有几个人用过Jenkins……
如果条件可以的话,搭个Jenkins吧,通过"Locks and Latches plugin"这个插件可以实现……

论坛徽章:
0
8 [报告]
发表于 2011-05-21 09:23 |只看该作者
perl 中可以实现 共享锁、排他锁等

论坛徽章:
0
9 [报告]
发表于 2011-05-21 09:53 |只看该作者
shell中有个flock的命令,你可以看看是否符合你的要求吧
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP