flock

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  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, 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 pro-
	      cess 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
       flock(2)



flock utility			  4 Feb 2006			      FLOCK(1)

Personal Tools