НАЗВА

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 

АВТОР

Адам Дж. Ріхтер

ДИВІТЬСЯ ТАКОЖ

?flock(2)