linux脚本启动停止一个jar

###########################启动###########################

#!/bin/sh

####定义一个函数在当前文件夹下读取所有jar文件

function read_all_jar()
{

  ###循环for do done

  for file in `ls $1`
  do

    ###如果是文件夹,递归调用此函数
    if [ -d $1"/"$file ] then
      read_all_jar $1"/"$file

    ####是文件,从左边开始删除文件名以及.号,剩余的为jar则输出路径
    elif [ "${file##*.}" = "jar" ]  then
      echo $1"/"$file
    fi
  done
}

###虚拟机加载文件使用UTF-8字符集

VM_OPTS="$VM_OPTS -Dfile.encoding=UTF-8"

####调用上面 获取jar列表

JAR_LIST=`read_all_jar /home/app/application_lib/flowSystem/city_yz`

#####将所有jar包添加到CLASSPATH中
for JAR in $JAR_LIST
do
  CLASSPATH=$CLASSPATH:$JAR
done

####配置文件路径 datasource  log4j  业务数据配置数据

CFG_FILE_PATH=/home/app/application_config/flowSystem/city_yz
export log_path=/log/app/flowSystem/city_yz

####将配置文件路径添加到CLASSPATH中

CLASSPATH=$CLASSPATH:$CFG_FILE_PATH
echo CLASSPATH=$CLASSPATH

######如果参数大于1个,第一个参数是clean

######执行java 启动DealMain,删除shutDownFile文件,退出脚本

if [ $# > 1 ] ; then
  if [ "$1" = "clean" ] ; then

    ###java -cp(目录和zip/jar文件的类搜索路径)
    "$JAVA_HOME"/bin/java $VM_OPTS -cp $CLASSPATH com.dyan.flowSystem.DealMain rmShutDownFile &
    exit;
  fi
fi

####如果参数小于等于1,启动DealMain

"$JAVA_HOME"/bin/java $VM_OPTS -cp $CLASSPATH com.dyan.flowSystem.DealMain &

 

 

###########################停止############################

#!/bin/sh

BUSI_NAME=`pwd|awk -F "/" '{print $(NF-1)}'`
CITY_NAME=`pwd|awk -F "/" '{print $(NF)}'`

ps -ef|grep $BUSI_NAME|grep $CITY_NAME|grep -v grep|awk '{print $2}'|xargs kill -9

 

posted @ 2016-08-15 10:30  ~永无止境~  阅读(4037)  评论(0编辑  收藏  举报