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