免费注册 查看新帖 |

Chinaunix

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

[Linux] 我用flock锁定了一个文件,为什么在shell里面仍然可以删除这个文件? [复制链接]

论坛徽章:
1
2015年迎新春徽章
日期:2015-03-04 10:01:44
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2015-02-12 20:04 |只看该作者 |倒序浏览
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
6
2015年辞旧岁徽章
日期:2015-03-05 16:13:092015年迎新春徽章
日期:2015-03-05 16:13:092015小元宵徽章
日期:2015-03-06 15:58:1815-16赛季CBA联赛之浙江
日期:2016-11-05 14:38:4115-16赛季CBA联赛之新疆
日期:2016-11-11 18:38:06
2 [报告]
发表于 2015-02-12 21:21 |只看该作者
文件锁是作同步用的,没有写保护功能。

文件关闭之前是不会真正删除的。

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
3 [报告]
发表于 2015-02-13 14:22 |只看该作者
(1)楼主可以了解一下协同锁(也有叫建议锁)与强制锁,flock是协同锁,也就是,使用该锁的程序间自己约定好,使用前加锁,试用后解锁,对文件的实际操作如read write unlink等系统调用不会再受该锁影响,也就是即使别处已加锁,直接调用这些接口也是可以正常的操作,不会受别处加锁影响;
(2)这一点可以man close看一下,文件被删除后,该文件从文件系统中不可见,但该文件已经打开的fd仍可正常使用,多个已打开的同一文件的fd还是指向同一文件,知道最后一个指向该文件的fd被close后,该文件才真正消失。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP