PDA

View Full Version : utilizzo cpu script similari


_YTS_
13-12-2005, 19:47
ciao ragazzi,
ho un dubbio che mi assilla, e cioè come mai questo script mi muove dall'idle il sistema:

#!/bin/sh

count=0
sleep=10
while true
do
if [ -f /www/logs/httpd.pid ]
then
if [ $count = 0 ]
then
echo ""
echo ""
echo "lancio comando"
echo ""
count=1
fi
else
if [ $count = 1 ]
then
echo ""
echo ""
echo "stoppo comando"
echo ""
count=0
fi
fi
done


praticamente se il processo di apache è su lo script mi lancia un comando e
altrimenti me ne lancia un altro. I count servono per lanciare una sola volta i processi altrimenti ogni 10 secondi li rilancerebbe.
il tutto funziona a meraviglia ricalcando la semplicità dello script, però il sistema guardando top non mi sta in idle.
Usando il processo di RunCache di squid:

#!/bin/sh
#
# $Id: RunCache.in,v 1.9.8.1 2003/01/06 20:52:55 wessels Exp $

prefix=/usr/local/squid
exec_prefix=${prefix}
logdir=${prefix}/var
PATH=${exec_prefix}/sbin:/bin:/usr/bin
export PATH

conf=""
if test "$1" ; then
conf="-f $1"
shift
fi

failcount=0
while : ; do
echo "Running: squid -sY $conf >> $logdir/squid.out 2>&1"
echo "Startup: `date`" >> $logdir/squid.out
start=`date '+%d%H%M%S'`
squid -NsY $conf >> $logdir/squid.out 2>&1
stop=`date '+%d%H%M%S'`
t=`expr $stop - $start`
if test 0 -le $t -a $t -lt 5 ; then
failcount=`expr $failcount + 1`
else
failcount=0
fi
if test $failcount -gt 5 ; then
echo "RunCache: EXITING DUE TO REPEATED, FREQUENT FAILURES" >&2
exit 1
fi
sleep 10
done


che mi pare similare in quanto rimane in ascolto anche lui ed ogni 10 secondi controlla lo stato del processo, il discorso del sistema non si presenta, in quanto non esiste overhead e overload della cpu o sistema.

ho cannato qualche cosa nello scrivere lo script?
non riesco a capirlo. :muro:

ciao