fcntl.lockf()以什么方式锁定文件?

时间:2014-04-18 19:37:27

标签: python locking fcntl

我目前正在尝试通过python锁定文件,因此其他进程甚至无法读取它。

到目前为止,我正在通过python解释器测试fcntl.lockf()的行为:

>>> file = open("/path/to/file", "w")
>>> fcntl.lockf(file.fileno(), fcntl.LOCK_EX | fcntl_LOCK_READ)

我已经尝试了这个和fcntl.lockf的其他几个变种,但我仍然能够第二次打开文件并获得他的fd。 我能够阅读它并写信给它。

我是否遗漏了某些东西,或者这不应该锁定文件以供其他程序使用?还有其他办法吗?

1 个答案:

答案 0 :(得分:1)

这是一个咨询锁,只有合作过程才会被阻止。有关如何发出强制锁定的信息,请参阅this discussion