FLOCK(1)

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

SEE ALSO
shlock(1), flock(2)

HISTORY
An flock utility appeared in NetBSD 6.1.