如何使用fcntl读取锁定文件的状态?

时间:2012-01-31 09:23:48

标签: python

我有一个简单的例子:

#!/usr/bin/python
import time
import fcntl
file = open("e", "w")
fcntl.lockf(file.fileno(),fcntl.LOCK_EX)
file.write("foo")
file.close()

如何知道锁定文件? (不等到文件解锁后)

1 个答案:

答案 0 :(得分:4)

这就是fcntl.LOCK_NB的用途。例如:

import warnings
try:
    fcntl.flock(myfile, fcntl.LOCK_EX|fcntl.LOCK_NB)
except IOError:
    warnings.warn("can't immediately write-lock the file ($!), blocking ...")
    fcntl.flock(myfile, fcntl.LOCK_EX)

来自file access