FLOCK(1) H. Peter Anvin FLOCK(1)
NAME flock - Manage locks from shell scripts
SYNOPSIS flock [-sxon] [-w timeout] lockfile [-c] command...
flock [-sxun] [-w timeout] fd
DESCRIPTION This utility manages flock(2) locks from within shell scripts or the command line.
The first form wraps the lock around the executing a command, in a man- ner similar to su(1) or newgrp(1). It locks a specified file, which is created (assuming appropriate permissions), if it does not already exist.
The second form is conveninent inside shell scripts, and is usually used the following manner:
( flock -s 200 # ... commands executed under lock ... ) 200>/var/lock/mylockfile
The mode used to open the file doesnt matter to flock; using > or >> allows the lockfile to be created if it does not already exist, how- ever, write permission is required; using < requires that the file already exists but only read permission is required.
By default, if the lock cannot be immediately acquired, flock waits until the lock is available.
OPTIONS -s, --shared Obtain a shared lock, sometimes called a read lock.
-x, -e, --exclusive Obtain an exclusive lock, sometimes called a write lock. This is the default.
-u, --unlock Drop a lock. This is usually not required, since a lock is automatically dropped when the file is closed. However, it may be required in special cases, for example if the enclosed com- mand group may have forked a background process which should not be holding the lock.
-n, --nb, --nonblock Fail (with an exit code of 1) rather than wait if the lock can- not be immediately acquired.
-w, --wait, --timeout seconds Fail (with an exit code of 1) if the lock cannot be acquired within seconds seconds. Decimal fractional values are allowed.
-o, --close Close the file descriptor on which the lock is held before exe- cuting command. This is useful if command spawns a child pro- cess which should not be hold ing the lock.
-c, --command command Pass a single command to the shell with -c.
-h, --help Print a help message.
AUTHOR Written by H. Peter Anvin <firstname.lastname@example.org>.
COPYRIGHT Copyright © 2003-2006 H. Peter Anvin. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
SEE ALSO flock(2)
flock utility 4 Feb 2006 FLOCK(1)