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