Provided by: inn_1.7.2q-52_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)