FreeBSD Manual Pages
LOCKF(1) BSD General Commands Manual 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, creating 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. If the lockf utility is being used to facilitate concurrency between a number of processes, it is recommended that the -k option be used. This will guarantee lock ordering, as well as implement a performance enhanced algorithm which minimizes CPU load associated with concurrent unlink, drop and re-acquire activity. It should be noted that if the -k option is not used, then no guarantees around lock ordering can be made. 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 pro- duced 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 process. 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 unexpectedly. EX_SOFTWARE The command did not exit normally, but may have been sig- naled or stopped. SEE ALSO flock(2), sysexits(3) HISTORY A lockf utility first appeared in FreeBSD 2.2. AUTHORS John Polstra <jdp@polstra.com>. BSD July 7, 1998 BSD
NAME | SYNOPSIS | DESCRIPTION | EXIT STATUS | SEE ALSO | HISTORY | AUTHORS
Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=lockf&sektion=1&manpath=FreeBSD+6.4-RELEASE>