我目前正在尝试通过 python 锁定一个文件,这样其他进程甚至无法读取它。
到目前为止,我正在通过 python 解释器测试 fcntl.lockf() 的行为:
>>> file = open("/path/to/file", "w")
>>> fcntl.lockf(file.fileno(), fcntl.LOCK_EX | fcntl_LOCK_READ)
我已经尝试过这个和 fcntl.lockf 的其他几个变体,但我仍然能够第二次打开文件并获得他的 fd。 我能够读取它并写入它。
我是不是遗漏了什么或者这根本不应该为其他进程锁定文件?还有其他方法吗?
请您参考如下方法:
它是一个咨询锁,只有合作进程才会被阻止。参见 this discussion关于如何放置强制锁。
