【2019-05-21】Linux shell脚本启动 停止 重启jar包

网上搬的,记录下 特别注意在win上编辑 上传到linux上会出现编码不一致现象,需要 set:ff=unix 下

#!/bin/bash

export JAVA_HOME=/root/tools/jdk1.8.0_181

export JRE_HOME=/$JAVA_HOME/jre

export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin

#这里可替换为你自己的执行程序,其他代码无需更改

APP_NAME=/root/app/springBoot/robotcenter.jar

#使用说明,用来提示输入参数

usage() {

    echo "Usage: sh robotcenter.sh [start|stop|restart|status]"

    exit 1

}

#检查程序是否在运行

is_exist(){

  pid=`ps -ef|grep $APP_NAME|grep -v grep|awk '{print $2}'`

  #如果不存在返回1,存在返回0   

  if [ -z "${pid}" ]; then

  return 1

  else

    return 0

  fi

}

#启动方法

start(){

  is_exist

  if [ $? -eq 0 ]; then

    echo "${APP_NAME} is already running. pid=${pid}"

  else

    nohup java -jar ${APP_NAME}  >robotcenter.out 2>&1 &

  fi

}

#停止方法

stop(){

  is_exist

  if [ $? -eq "0" ]; then

    kill -9 $pid

  else

    echo "${APP_NAME} is not running"

  fi 

}

#输出运行状态

status(){

  is_exist

  if [ $? -eq "0" ]; then

    echo "${APP_NAME} is running. Pid is ${pid}"

  else

    echo "${APP_NAME} is NOT running."

  fi

}

#重启

restart(){

  stop

  sleep 5

  start

}

#根据输入参数,选择执行对应方法,不输入则执行使用说明

case "$1" in

  "start")

    start

    ;;

  "stop")

    stop

    ;;

  "status")

    status

    ;;

  "restart")

    restart

    ;;

  *)

    usage

    ;;

esac

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1.创建文件夹 !/bin/sh mkdir -m 777 "%%1" 2.创建文件 !/bin/sh touch...
    BigJeffWang阅读 10,229评论 3 53
  • 说明:不少读者反馈,想使用开源组件搭建Hadoop平台,然后再部署Kylin,但是遇到各种问题。这里我为读者部署一...
    大诗兄_zl阅读 2,122评论 0 2
  • #!/bin/bash #install_package #2016/10/28 by Chris_JD #Bas...
    宇信智臻sy阅读 1,114评论 1 5
  • 一直以来,我的心里都住着一个流浪的小孩,因为爱也因为胆怯,只敢想着去流浪总又不敢去流浪,直到结婚生子,似乎心安定了...
    素說阅读 400评论 2 1
  • 编译地址:How To Learn (Java)译者:mxlmhgzw原文地址:http://blog.csdn....
    IT程序狮阅读 1,015评论 1 16