unixdev.net


Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (Debian-5.0)
Page:
Section:
Apropos / Subsearch:
optional field

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 convenient 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, 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
              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 <hpaATzytor.com>.

COPYRIGHT
       Copyright (C) 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)

AVAILABILITY
       The flock command is part of the util-linux-ng package and is available
       from ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/.



flock utility                     4 Feb 2006                          FLOCK(1)