#!/bin/sh # ps ux | awk '/hlds_i686/ && !/awk/ {print $2}' > /home/cs/run/cs.pid csdir="/home/cs/hlds" csbin="cs_server_start" cspid="/home/cs/run/cs.pid" rm -f $cspid cd $csdir kiek="0" while : do if test -r $cspid; then pid=`cat $cspid` if `kill -CHLD $pid >/dev/null 2>&1`; then pid=`ps ax | awk '($5 ~ /hlds_i686/) { print $1 }'` cpu=`top b -n 1 -p $pid | awk '($12 ~ /hlds_i686/) { print $9 }'` intcpu=${cpu%.*} if [ "$intcpu" -gt "98" ]; then let "kiek += 1" if [ ${kiek} = "3" ]; then kill -9 $pid rm -f $cspid sleep 10 kiek="0" ./$csbin sleep 60 fi else kiek="0" sleep 30 fi else rm -f $cspid ./$csbin kiek="0" sleep 60 fi else ./$csbin kiek="0" sleep 60 fi done