SHLOCK(1)

SHLOCK(1)

shar Home Page User Commands Index show


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  cur-
       rently-active process.

OPTIONS
       -b     Process IDs are normally read and written in ASCII.
              If the ``-b'' flag is used, then they will be writ-
              ten  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 suc-
              ceeded), then the program will  exit  with  a  zero
              status.

EXAMPLES
       The  following  example  shows  how  shlock  would be used
       within a shell script:
              LOCK=/var/lock/news/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 lt;rsalz@uunet.uu.net after a descrip-
       tion of HDB UUCP locking given by Peter Honeyman.  This is
       revision 1.9, dated 1996/10/29.

shar Home Page User Commands Index show