下面是俺写的测试脚本,为了能运行多次测试程序性能,想控制运行个数,通过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