       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 begin-
              ning of the file. If it is "current", it is relative to the cur-
              rent  access  position  in the file.  If it is "end", then it is
              relative to the end-of-file (a negative is before the EOF, posi-
              tive 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  avail-
              able on Windows NT.
