Há um erro de digitação em sua pergunta: você define sarfile
, mas usa sar_file
, o que provavelmente está fazendo com que seu comando sar
seja encerrado com um erro.
Eu tenho um script de shell para executar o teste do JMeter. O script gera a saída de log do Jmeter e cria o sar (suponha que crie o arquivo sar, embora isso não ocorra). Script de shell é -
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
Quando executo o script de shell, acabo encontrando erros -
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
E não vejo nenhum arquivo ".dat" gerado para dados do sar. O que há de errado com este script de shell? Por favor, seja gentil, eu sou novo no mundo do Unix.
Tags command-line linux