NAME
flock - Manage locks from shell scripts
SYNOPSIS
flock [-sxon] [-w
timeout] lockfile [-c] command...
flock [-sxun] [-w timeout] fd
DESCRIPTION
This utility manages (2)
locks from within shell scripts or the command line.
The first form wraps the lock around the executing a command, in
a manner 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 doesn't matter to flock;
using > or >> allows the lockfile to be created if it does
not already exist, however, 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 command
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
cannot 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
executing command. This is useful if command spawns a
child process 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 <hpa@zytor.com>.
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
(2)