       flock options fileId ?start? ?length? ?origin?

              This  command  places  a lock on all or part of the
              file specified  by  fileId.   The  lock  is  either
              advisory  or  mandatory, depending on the mode bits
              of the file.   The  lock  is  placed  beginning  at
              relative  byte  offset  start for length bytes.  If
              start or  length  is  omitted  or  empty,  zero  is
              assumed.   If  length is zero, then the lock always
              extents to end of file, even if the file grows.  If
              origin  is  "start", then the offset is relative to
              the beginning of the file. If it is  "current",  it
              is  relative  to the current access position in the
              file.  If it is "end", then it is relative  to  the
              end-of-file (a negative is before the EOF, positive
              is after).  If origin is omitted, start is assumed.

              The following options are recognized:

              -read  Place  a  read  lock  on the file.  Multiple
                     processes may be  accessing  the  file  with
                     read-locks.

              -write Place  a  write  lock on the file.  Only one
                     process may be accessing a file if there  is
                     a write lock.

              -nowait
                     If  specified,  then  the  process  will not
                     block if the lock can not be obtained.  With
                     this  option,  the  command returns 1 if the
                     lock is obtained and 0 if it is not.

              See your system's fcntl system  call  documentation
              for  full  details of the behavior of file locking.
              If locking is being done on ranges of a file, it is
              best  to  use unbuffered file access (see the fcntl
              command).

              The flock command is not available on  Windows  95.
              It is available on Windows NT.
