linux shell 控制脚本执行次数

下面是俺写的测试脚本,为了能运行多次测试程序性能,想控制运行个数,通过lockfile 和 grep配合进行限制。

 

#!/bin/bash

. /etc/profile

project=simnin
export CLASSPATH=.:/usr/$project:$CLASSPATH
for jarfile in /usr/$project/lib/*.jar ; do
if ! echo $CLASSPATH | grep $jarfile > /dev/null
then
  export CLASSPATH=$CLASSPATH:$jarfile
fi
done

#echo $#
#echo $*
#echo $0 $1 $2 $3

#run once when lock file
lckfile="/tmp/.perfomanceTest.lck"
lockfile -1 -r 60 $lckfile

log=/tmp/perftest.log
echo >> $log

lmt=1
if [ "`date +%H`" -lt 8 -o "`date +%H`" -gt 18 ]; then
  lmt=10
fi

prog="com.lj.PerformanceTest"
ps -ef | grep $prog | grep "grep $prog" -v >>$log
cnt=`ps -ef | grep $prog | grep "grep $prog" -v -c `
if [ "$cnt" -gt "$lmt" ]; then
  rm -f $lckfile
  echo "exit 1 when $cnt > $lmt ." >>$log
  exit 1;
fi

echo "$$ start at `date`" >>$log
#echo =====================ENV============== >>$log
#env >>$log
echo =====================CMD============== >>$log
echo $0 $* >> $log

$JAVA_HOME/bin/java com.lj.PerformanceTest $* >>$log 2>&1  &
rm -f $lckfile

echo "$$ $! is running" >>$log
echo "$$ end at `date`" >>$log

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值