/
dirt31/
dirt31/bin/
#!/bin/sh
#
# Restart the mud-server if it has crashed, kill it if it thinks it uses
# too much CPU-time. (this used to be a problem but it should be fixed now.
# but why not just leave the kill-code in here anyway..)
#
# Restarts are logged to data/restart.log and kill-mud's are logged to
# data/kill.log

cd /home/gyda/c/gjermund/src/dirt31/bin

trap '' 1 

count=0
LIMIT=2

(       while : ; do

		mudproc=`ps ux | grep -v grep | egrep '^${USER}.+ aberd'`

                if [ ! "$mudproc" ]; then
                        echo "Restart at `date`" >> ../data/restart.log
                        /bin/nice -19 aberd -k > /dev/null 2>&1

                else
                        set $mudproc

                        if [ "$3" -gt 30 ]; then

                                count=`expr "$count" + 1`

                                test "$count" -ge $LIMIT && {
                                        count=0
                                        echo "Kill at `date`: $*" \
                                             >> ../data/kill.log
                                        kill $2
                                        sleep 10
                                        /bin/nice -19 aberd -k > /dev/null 2>&1
                                }
                        else
                                count=0
                        fi 
                fi

                sleep 180
        done \
)&