NAME
flock —
Provide locking API for shell
scripts
SYNOPSIS
flock |
[-dnosvx]
[-w
timeout]
lockfile|lockdir
[-c
command] |
[command ...] |
flock |
[-dnsuvx]
[-w
timeout] lockfd |
DESCRIPTION
The
flock utility provides
flock(2) access to the command
line or scripts. The first form locks a file or directory while the command
provided is executed. If the file or directory does not exist, then a file is
created.
The second form can use an arbitrary file descriptor that is provided from a
shell script for example:
(
flock -s 100
# commands to be executed under the lock
) 100> /path/to/lockfile
The following options are available:
-
-
- -c
command
- Pass a command to a the shell.
-
-
- -d,
--debug
- Provide debugging output.
-
-
- -n,
--nb,
--nonblock
- Don't block and fail immediately if the lock could not be
obtained.
-
-
- -o,
--close
- Close the file before executing the command. This is useful
if the child forks and should not be holding the lock.
-
-
- -s,
--shared
- Obtain a shared lock.
-
-
- -u,
--unlock
- Unlock an existing lock. This is available only for a file
descriptor.
-
-
- -v,
--verbose
- On error print an explanation of the failure.
-
-
- -w,
--wait,
--timeout
seconds
- Fail if the lock could not be obtained after
seconds.
-
-
- -x,
--exclusive
- Obtain an exclusive lock. This is the default.
EXIT STATUS
The
flock utility exits 0 on success, and >0 if
an error occurs.
SEE ALSO
shlock(1),
flock(2)
HISTORY
An
flock utility appeared in
NetBSD
6.1.