LOCKF(1) Справочник основных команд FreeBSD LOCKF(1)
НАЗВАНИЕ
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)
ИСТОРИЯ
Утилита lockf появилась во FreeBSD 2.2.
АВТОРЫ
John Polstra <jdp [at] polstra [dot] com>
FreeBSD 6.2 7 июля 1998 FreeBSD 6.2
Последние комментарии
11 недель 3 дня назад
35 недель 4 дня назад
2 года 36 недель назад
3 года 6 недель назад
3 года 29 недель назад
3 года 44 недели назад
3 года 45 недель назад
3 года 48 недель назад
4 года 7 недель назад
4 года 11 недель назад