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