Найти - Пользователи
Полная версия: блокировка файла средствами ОС Linux с целью предотвращения параллельного запуска процессов
Начало » Python для экспертов » блокировка файла средствами ОС Linux с целью предотвращения параллельного запуска процессов
1
axe
В скрипте использую такую защиту от паралелльного запуска нескольких экземпляров:
lockFileNm = '/var/lock/myscriptlockfilename'
lockFile = open( lockFileNm, 'w')
try:
    fcntl.lockf(lockFile, fcntl.LOCK_EX | fcntl.LOCK_NB)
except IOError:
    print 'another instance of %s is running' % (__file__)
    sys.exit(0)
(скрипт запускается по cron-у)

На диске кончилось свободное место и создалось множество процессов. Мне пока что негде провести эксперимент, чтобы узнать истину.
Делает ли fcntl.lockf какие-то пометки в файловой системе или это пометка в оперативной памяти?
o7412369815963
По идее должно в памяти, и при перезагрузке “скидываться”.
axe
Протестировал:
попробовал забить место на винте - пустой лок-файл создался и нормально залочился.
Т.е. отметка должна быть в оперативке.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB