I would appreciate any donations. Wishlist or send e-mail type donations to maekawa AT daemon-systems.org.

Thank you.

FLOCK(1)                    General Commands Manual                   FLOCK(1)

     flock -- Provide locking API for shell scripts

     flock [-dnosvx] [-w timeout] lockfile|lockdir [-c command] |
           [command ...]
     flock [-dnsuvx] [-w timeout] lockfd

     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.

     The flock utility exits 0 on success, and >0 if an error occurs.

     shlock(1), flock(2)

     An flock utility appeared in NetBSD 6.1.

NetBSD 7.1.2                    August 18, 2014                   NetBSD 7.1.2