得到它了。我的脚本中的错误是我在每次调用时都创建了一个新的文件描述符:
fcntl.flock(open('/tmp/locktest', 'r'), fcntl.LOCK_EX | fcntl.LOCK_NB)(...)fcntl.flock(open('/tmp/locktest', 'r'), fcntl.LOCK_EX | fcntl.LOCK_NB)相反,我必须将文件对象分配给变量,然后尝试锁定:
f = open('/tmp/locktest', 'r')fcntl.flock(f, fcntl.LOCK_EX | fcntl.LOCK_NB)(...)fcntl.flock(f, fcntl.LOCK_EX | fcntl.LOCK_NB)比起我想看到的例外,我也得到了更多
IOError: [Errno 11] Resource temporarilyunavailable。现在,我必须考虑在什么情况下使用fcntl才有意义。



