Dan Langille wrote:
> 
> Folks: have a look at this FreshPorts shell script and let me know if
> there is a better way to do this.
> 
> This script waits for a file to arrive in a directory, then runs a scipt
> to process it.  It's part of FreshPorts.  the procmail script spools the
> incoming cvs-all message to a temporary location, then moves it to the
> incoming directory.
> 
> The lockfile is an attempt to make the script single-entry (only one
> instance at a time).  If fails because the only way to exit the script is
> to terminate it...
> 
> At present, this script runs within a screen session (that's the easiest
> way to control it).  This script is sort of like a daemon, and I'm tempted
> to replace it with one.  If it was a daemon, I'm sure that would be much
> easier.

Wouldn't the following change be helpful if you always ^C the script to 
stop it?

> #!/bin/sh
> 
> LOCKFILE=${HOME}/msgs/processing.lock
> MSGSDIR=${HOME}/msgs/FreeBSD/incoming

cleanup()
{
        rm -rf ${LOCKFILE}
        exit
}

trap cleanup sighup sigint sigquit sigill sigabrt sigterm

> lockfile -r 0 $LOCKFILE
> RESULT=$?
> #echo result='$RESULT'
> if [ $RESULT = 0 ]
> then
>     cd ${MSGSDIR}
>     while .
>         do
>         FILECOUNT=`ls | wc -l`
> 
>         if [ $FILECOUNT -ne 0 ]
>         then
>             ls | xargs -n 1 $HOME/scripts/test-freebsd-cvs.sh
>         fi
> 
>         sleep 1
>         done
> 
        cleanup
> fi



-- 
  \  |_ _|__ __|_ \ __| Jason Andresen        [EMAIL PROTECTED]
 |\/ |  |    |    / _|  Network and Distributed Systems Engineer
_|  _|___|  _| _|_\___| Office: 703-883-7755


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message

Reply via email to