Man:Man1/flock.1
Матеріал з docs.linux.org.ua — збірника документації з Unix/Linux українською мовою.
Зміст |
НАЗВА
flock - замикає файл, а потім виконує команду з утриманням замка
ЗВЕДЕННЯ
flock [ --shared | --timeout=секунд ] файл команда ...
ОПИС
Команда flock накладає замок на файл за допомогою системного виклику flock(2), а відтак виконує вказану команду з утриманням замка. Залежно від вказаних прапорців, замок може бути або виключним, або спільний, і поводження у разі суперництва над замком може полягати в необмеженому очікуванні, доки замок стане доступним (стандартне поводження), або в припиненні роботи, якщо замок не стане доступним після вказаного часу (аргумент --timeout), який можна вказати, як нуль секунд, щоб команда не чекала зовсім.
- --shared
- Накладення спільного замка. Накладання спільного замка не перешкоджає іншим процесам теж накласти спільний замок, але не дасть іншим накласти виключний. І навпаки, накладення виключного замка (стандартне поводження) запобігає накладенню іншими як виключних, так і спільних замків. Типово, спільний замок використовується, якщо команда збирається прочитати замкнені дані, і виключного - якщо команда може здійснити запис туди.
- --timeout=n
- Завершити роботу, якщо замок неможливо накласти протягом n секунд. У разі повністю не-блокуючого замка, вкажіть --timeout=0. Як тільки замок накладено, ліміт часу скасовується. Команда, яку буде виконано, не є суб'єктом ліміту часу.
ПРИКЛАДИ
(Уявні команди підкреслено.)
flock /etc/passwd читання-та-запис-до-passwd
flock --shared /etc/passwd тільки-читання-з-passwd
flock --timeout=0 /sys /usr/local/bin/update-hotplug /sys
АВТОР
Адам Дж. Ріхтер

