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)

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *