2

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

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

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

我已经尝试过这个和 fcntl.lockf 的其他一些变体,但我仍然能够第二次打开文件并获得他的 fd。我能够阅读它并写入它。

我是否遗漏了什么,或者这根本不应该为其他进程锁定文件?还有其他方法吗?

4

1 回答 1

1

它是一个咨询锁,即只有一个合作进程才会被阻止。请参阅有关如何放置强制锁的讨论。

于 2014-04-18T19:46:26.127 回答