
Tengo un script de shell para ejecutar la prueba JMeter. El script genera el cierre de sesión de Jmeter y crea sar (supongamos que crea un archivo sar aunque no es así). El script de Shell es:
runtest()
{
export JMETER_HOME=/home/software/apache-jmeter-2.6
host=$1
port=$2
loopcount=$3
logfile=jmeter$(date -d "today" +"%Y%m%d%H%M%S").jtl
sarfile=sar$(date -d "today" +"%Y%m%d%H%M%S").dat
sar -o $sar_file 3 100000 >/dev/null 2>&1 &
sar_pid=$!;
echo 'sar started with pid' $sar_pid;
for ((start=1; start <= $loopcount; start++ ))
do
echo 'Iteration' $start;
$JMETER_HOME/bin/jmeter.sh -n -t ReportWebService.jmx -Jhost=$host -Jport=$port -l $logfile
done
sleep 2
echo 'killing sar process id' $sar_pid
kill -9 $sar_pid;
}
runtest localhost 8087 1
Cuando ejecuto el script de shell, finalmente encuentro un error:
sar started with pid 13191
Iteration 1
Created the tree successfully using ReportWebService.jmx
Starting the test @ Tue Apr 17 11:16:24 IST 2012 (1334641584914)
Waiting for possible shutdown message on port 4445
Tidying up ... @ Tue Apr 17 11:16:25 IST 2012 (1334641585129)
... end of run
killing sar process id 13191
./temp.sh: line 22: kill: (13191) - No such process
Y no veo ningún archivo ".dat" generado para datos sar. ¿Qué hay de malo en este script de shell?
Respuesta1
Hay un error tipográfico en su pregunta: configuró sarfile
pero usa sar_file
, lo que probablemente esté causando que su sar
comando salga con un error.