得到它了。我的脚本中的错误是我在每次调用时都创建了一个新的文件描述符:
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才有意义。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)