fcntl.lockf() 是如何锁定文件的?
我现在正在尝试通过Python锁定一个文件,这样其他进程就连读取它的权限都没有。
到目前为止,我在Python解释器中测试了fcntl.lockf()的行为:
>>> file = open("/path/to/file", "w")
>>> fcntl.lockf(file.fileno(), fcntl.LOCK_EX | fcntl_LOCK_READ)
我试过这个和其他几种不同的fcntl.lockf的用法,但我还是能第二次打开这个文件,并且获取到它的文件描述符(fd)。我还能够读取和写入这个文件。
我是不是漏掉了什么,还是说这个方法根本就不能锁定文件,让其他进程无法访问?有没有其他的方法可以做到这一点?