Provided by: inn_1.7.2q-44.1ubuntu2_amd64 bug

NAME

       shlock - create lock files for use in shell scripts

SYNOPSIS

       shlock -p pid -f name [ -b ] [ -u ] [ -c ]

DESCRIPTION

       Shlock  tries  to  create a lock file named name and write the process ID pid into it.  If
       the file already exists, shlock will read the process ID from the file and test to see  if
       the  process  is  currently  running.   If  the  process exists, then the file will not be
       created.

       Shlock exits with a zero status if it was able to create the lock file, or non-zero if the
       file refers to currently-active process.

OPTIONS

       -b     Process  IDs  are  normally read and written in ASCII.  If the ``-b'' flag is used,
              then they will be written as a binary int.  For compatibility with  other  systems,
              the  ``-u'' flag is accepted as a synonym for ``-b'' since binary locks are used by
              many UUCP packages.

       -c     If the ``-c'' flag is used, then shlock will not  create  a  lock  file,  but  will
              instead use the file to see if the lock is held by another program.  If the lock is
              valid, the program will exit with a non-zero status;  if  the  lock  is  not  valid
              (i.e.,  invoking  shlock  without  the flag would have succeeded), then the program
              will exit with a zero status.

EXAMPLES

       The following example shows how shlock would be used within a shell script:
              LOCK=/run/innd/LOCK.send
              trap 'rm -f ${LOCK} ; exit 1' 1 2 3 15
              if shlock -p $$ -f ${LOCK} ; then
                  # Do appropriate work
              else
                  echo Locked by `cat ${LOCK}`
              fi

HISTORY

       Written by Rich $alz <rsalz@uunet.uu.net> after a description of HDB UUCP locking given by
       Peter Honeyman.  This is revision 1.9, dated 1996/10/29.

                                                                                        SHLOCK(1)