Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
SHLOCK(1)		  InterNetNews Documentation		     SHLOCK(1)

       shlock -	Create lock files for use in shell scripts

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

       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	whether	the process is currently
       running.	 If the	process	exists,	then the file will not be created.
       shlock exits with a zero	status if it could create the lock file, or
       non-zero	if the file refers to a	currently active process.

       -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.

       -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.

       -f name
	   name	is the name of the lock	file shlock attempts to	create.	 If
	   the file already exists, it will read the process ID	from the file
	   and exit with a non-zero status if this process is currently

       -p pid
	   pid is the process ID to write into the file	name.

       -u  For compatibility with other	systems, the -u	flag is	accepted as a
	   synonym for -b since	binary locks are used by many UUCP packages.

       The following example shows how shlock would be used within a shell

	   LOCK=<pathrun in inn.conf>/LOCK.send
	   trap	'rm -f ${LOCK} ; exit 1' 1 2 3 15
	   if shlock -p	$$ -f ${LOCK} ;	then
	       # Do appropriate	work.
	       echo "Locked by `cat ${LOCK}`"

       Written by Rich $alz <> for InterNetNews after	a
       description of HDB UUCP locking given by	Peter Honeyman,	and improved
       by Berend Reitsma to solve a race condition.  Converted to POD by
       Julien Elie.

       $Id: shlock.pod 8357 2009-02-27 17:56:00Z iulius	$

INN 2.5.2			  2009-05-21			     SHLOCK(1)


Want to link to this manual page? Use this URL:

home | help