Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 27 Jan 2002 20:19:16 -0500
From:      "Dan Langille" <dan@langille.org>
To:        freebsd-hackers@freebsd.org
Subject:   shell scripts that hang around forever
Message-ID:  <200201280119.g0S1JHD97804@lists.unixathome.org>

next in thread | raw e-mail | index | archive | help
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.

#!/bin/sh

LOCKFILE=${HOME}/msgs/processing.lock
MSGSDIR=${HOME}/msgs/FreeBSD/incoming

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

    rm -rf ${LOCKFILE}
fi
-- 
Dan Langille
The FreeBSD Diary - http://freebsddiary.org/ - practical examples


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200201280119.g0S1JHD97804>