Bsdadmin.ru

Записки администратора FreeBSD

Путь на сайте

Домашняя Mans FreeBSD по-русски lockf - выполнить команду, удерживая блокировку на файле

lockf - выполнить команду, удерживая блокировку на файле

НАЗВАНИЕ
     lockf -- выполнить команду, удерживая блокировку на файле

СИНТАКСИС
     lockf [-ks] [-t секунды] файл команда [аргументы]

ОПИСАНИЕ
Утилита lockf запрашивает эксклюзивную блокировку файла файл, создавая его при необходимости и удаляя файл при завершении, если это не было  запрещено явно. 

 Удерживая полученную блокировку, утилита выполняет указанную команду с заданными аргументами.  Когда команда завершается, lockf снимает блокировку и, если не указана опция -k, удаляет файл.  Используется механизм блокировок в BSD-стиле, описанный в flock(2); одно лишь существование файла файл не является признаком установленной блокировки.     Имеются следующие опции:

      -k           Оставлять (не удалять) файл блокировки после завершения
                 работы команды.    

      -s           Не выводить никаких сообщений.  Невозможность получения бло-
                 кировки отразится лишь на статусе завершения.

     -t секунды   Установить максимальное время ожидания получения блокировки.
                 По умолчанию, lockf будет ждать бесконечно долго.  Если же
                 задан этот параметр, утилита будет ждать не более указанного
                 числа секунд, после чего прекратит свои попытки получения
                 блокировки.  Может быть указано значение 0, тогда lockf
                 завершится с ошибкой, если не удалось получить блокировку
                 сразу же.  В случае, если время ожидания истекло, команда не
                 выполняется.     Ни при каких обстоятельствах lockf не нарушит блокировку, удерживаемую  другим процессом.

СТАТУС ЗАВЕРШЕНИЯ
     Если блокировка была успешна получена, lockf возвращает статус завершения
     команды команда.  В противном случае, будет возвращен один из следующих
     кодов, определенных в sysexits(3):  
  EX_TEMPFAIL    Указанный файл блокировки уже заблокирован другим процессом.

   EX_CANTCREAT   Утилита lockf не смогла создать файл блокировки, например,
                   из-за недостаточных прав доступа.

      EX_USAGE       Неверный синтаксис командной строки, переданной lockf.

     EX_OSERR       Неожиданный сбой системного вызова (например, fork(2)).

СМОТРИ ТАКЖЕ
     flock(2), sysexits(3)

Домашняя Mans FreeBSD по-русски lockf - выполнить команду, удерживая блокировку на файле