lockf(1)
NAME
lockf - execute a command while holding a file lock
SYNOPSIS
lockf [-ks] [-t seconds] file command [arguments]
DESCRIPTION
- The lockf utility acquires an exclusive lock on a file, cre
- ating it if
necessary, and removing the file on exit unless explicitly - told not to.
While holding the lock, it executes a command with optional - arguments.
After the command completes, lockf releases the lock, and - removes the
file unless the -k option is specified. BSD-style locking - is used, as
described in flock(2); the mere existence of the file is not - considered
to constitute a lock. - The following options are supported:
- -k Causes the lock file to be kept (not removed)
- after the com
- mand completes.
- -s Causes lockf to operate silently. Failure to
- acquire the
- lock is indicated only in the exit status.
- -t seconds Specifies a timeout for waiting for the lock.
- By default,
- lockf waits indefinitely to acquire the lock.
- If a timeout
is specified with this option, lockf will wait - at most the
given number of seconds before giving up. A - timeout of 0 may
be given, in which case lockf will fail unless - it can acquire
the lock immediately. When a lock times out, - command is not
executed. - In no event will lockf break a lock that is held by another
- process.
EXIT STATUS
- If lockf successfully acquires the lock, it returns the exit
- status produced by command. Otherwise, it returns one of the exit
- codes defined in
sysexits(3), as follows: - EX_TEMPFAIL The specified lock file was already locked by
- another pro
- cess.
- EX_CANTCREAT The lockf utility was unable to create the
- lock file, e.g.,
- because of insufficient access privileges.
- EX_USAGE There was an error on the lockf command line.
- EX_OSERR A system call (e.g., fork) failed unexpected
- ly.
SEE ALSO
HISTORY
A lockf utility first appeared in FreeBSD 2.2.
AUTHORS
- John Polstra <jdp@polstra.com>.
- BSD July 7, 1998