2012-10-25 python lock file ubuntu
Монопольный доступ к файлу (lockfile) часто применяется когда нужно предотвратить запуск нескольких копий приложения, либо просто монопольный доступ на запись, проверено на ubuntu + python 2.7
Пример использования lockfile
def lock_file(fname):
import fcntl
_lock_file = open(fname, 'a+')
try:
fcntl.flock(_lock_file.fileno(), fcntl.LOCK_EX | fcntl.LOCK_NB)
except IOError:
return None
return _lock_file
lock = lock_file('/tmp/test')
print 1, lock
lock2 = lock_file('/tmp/test')
print 2, lock2
del lock
lock3 = lock_file('/tmp/test')
print 3, lock3
1 <open file '/tmp/test', mode 'a+' at 0xb73003e8>
2 None
3 <open file '/tmp/test', mode 'a+' at 0xb73003e8>