假设我有一个main方法,它可以将数据读/写到文件中。现在,如果我从两个不同的终端(两个不同的进程?)调用python文件,如何确保只有一个进程可以使用该方法?
我使用了threading.Lock()
,但是它不起作用,因为我猜想该锁定对象对于在另一个终端中打开的另一个进程不可见。我对吗 ?
最佳答案
https://pythonhosted.org/lockfile/lockfile.html
from lockfile import LockFile
lock = LockFile("/some/file/or/other")
with lock:
print lock.path, 'is locked.'
使用羊群:
https://docs.python.org/2/library/fcntl.html#fcntl.flock
羊群文件:
http://linux.die.net/man/2/flock