栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

启动jar包shell脚本

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

启动jar包shell脚本

jar_name=xxx.jar
jar_path=/xxx/xxxx
log_path=/xxx/logs/`date +%y-%m-%d`_out.log
#指向自定义jdk
#export JAVA_HOME=/xxx/xxx/jdk1.8.0_131
#export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
#export PATH=$JAVA_HOME/bin:$PATH
stop() {
  echo ""
  pid=$(ps -ef | grep $jar_name | grep -v grep | awk '{print $2}')
  if [ -z $pid ]; then # -z 是判断是否为空
    echo "${jar_name}未运行!"
  else
    echo "准备关闭进程$pid"
    kill -9 $pid
    sleep 0.5
    echo "${jar_name}已关闭!"
  fi
  echo ""
}

start() {
  echo ""
  pid=$(ps -ef | grep $jar_name | grep -v grep | awk '{print $2}')
  if [ -z $pid ]; then
    cd $jar_path  # 这里转到jar包目录执行命令,是为了使用jar_path下的config文件,貌似java程序只能识别当前执行命令目录下的配置,否则就是使用已打入Jar包的配置文件。
    nohup java -jar $jar_name >$log_path 2>&1 &
    pid=$(ps -ef | grep $jar_name | grep -v grep | awk '{print $2}')
    echo "应用 ${jar_name}启动成功,pid=${pid}"
    # tail -f $log_path
 
  else
    echo "应用 ${jar_name} 正在运行,pid = ${pid}"
  fi
  echo ""
}

status() {
  echo ""
  pid=$(ps -ef | grep $jar_name | grep -v grep | awk '{print $2}')
  if [ -z $pid ]; then
    echo "应用 ${jar_name} 未运行"
  else
    echo "应用 ${jar_name} 正在运行,pid = ${pid}"
  fi
  echo ""

}
restart() {
  stop

  sleep 2
  echo "停止完成,准备启动jar包"
  start
}
action() {
  echo "请输入数字选择要执行的操作:1=启动,2=重启,3=停止,4=查看运行状态,5=退出"
  echo '你输入的数字为:'
  read a
  case $a in
  "1")
    start
    ;;
  "2")
    restart
    ;;
  "3")
    stop
    ;;
  "4")
    status
    ;;
  "5")
    exit 1
    ;;
  *)
    echo "输入错误,请重新输入"
    action
    ;;
  esac
}

action
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1021322.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号