当前位置:编程学习 > JAVA >>

Linux中,shell脚本调用java程序模板

运行某个shell的时候检测这个shell当前是否运行,如果正在运行,退出,否则,开始运行。
#!/bin/bash
cd /a/b/c/bin
Channel=$1
BatchSize=80000
export HOMEDIR=/a/b/c
export CLASSPATH=$JAVA_HOME/lib/tools.jar:$HOMEDIR/lib/mysql.jar
export JAVA_HOME=/usr/lib/jvm/java-1.6.0
export JAVA_CMD=$JAVA_HOME/bin/java
export LOGDIR=/a/b/logs/
export LOGFILE=$LOGDIR/Process-`date +"%Y%m%d"`.log
mkdir -p $LOGDIR
export JAVA_MAIN=com.test.Test
EXEC_CMD="$JAVA_CMD -Xmx6000m -classpath $CLASSPATH $JAVA_MAIN $Channel"
ps -ef | grep "$EXEC_CMD" > Status_$Channel
num=$(wc -l Status_$Channel | awk '{print $1}')

if [ $num -gt 1 ]
then
        echo "process is running..." >> $LOGFILE
        exit 1
else     www.zzzyk.com
        echo "Start to process For "$Channel" at:"`date +%Y-%m-%d-%H:%M:%S` >> $LOGFILE
        $EXEC_CMD $BatchSize >> $LOGFILE
        echo "End to process For "$Channel" at:"`date +%Y-%m-%d-%H:%M:%S` >> $LOGFILE
fi

note:jar包的main函数可以接受两个参数,一个是Channel,另一个是BatchSize.

 

作者:月下独酌
补充:软件开发 , Java ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,