Chinaunix
标题:
我用flock锁定了一个文件,为什么在shell里面仍然可以删除这个文件?
[打印本页]
作者:
udodoo
时间:
2015-02-12 20:04
提示:
作者被禁止或删除 内容自动屏蔽
作者:
爻易
时间:
2015-02-12 21:21
文件锁是作同步用的,没有写保护功能。
文件关闭之前是不会真正删除的。
作者:
羽剑天涯
时间:
2015-02-13 14:22
(1)楼主可以了解一下协同锁(也有叫建议锁)与强制锁,flock是协同锁,也就是,使用该锁的程序间自己约定好,使用前加锁,试用后解锁,对文件的实际操作如read write unlink等系统调用不会再受该锁影响,也就是即使别处已加锁,直接调用这些接口也是可以正常的操作,不会受别处加锁影响;
(2)这一点可以man close看一下,文件被删除后,该文件从文件系统中不可见,但该文件已经打开的fd仍可正常使用,多个已打开的同一文件的fd还是指向同一文件,知道最后一个指向该文件的fd被close后,该文件才真正消失。
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2