Java项目(JAR包)上线环境下(Linux系统)的启动停止脚本配置(Shell脚本)

匿名 (未验证) 提交于 2019-12-02 21:56:30
版权声明:本文为博主原创文章,转载请注明出处:http://blog.csdn.net/deaidai https://blog.csdn.net/deaidai/article/details/89739193

引言

对于一般性Java项目,我们会这样定义项目目录,此处项目目录不包括java的代码,只把java代码编译输出的jar包放入lib文件夹下,通过调用bin文件夹下的脚本文件启动,并读取conf目录下的自定义配置文件,写项目运行日志记录到conf文件夹下

话不多说,直接上脚本代码

#!/bin/bash #description: 启动重启server服务   #目录和包名   HOME='/Users/hyperdai/Projects/java_server' JAR_NAME='dc_server-0.0.1-SNAPSHOT.jar' APP_NAME=$HOME/lib/$JAR_NAME  #使用说明,用来提示输入参数 usage() {     echo "Usage: sh shell-eureka-service.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 "${JAR_NAME} is already running. pid=${pid}"   else     nohup java -jar ${APP_NAME} > $HOME/logs/nohup.out 2>&1 &   fi }   #停止方法 stop(){   is_exist   if [ $? -eq "0" ]; then     kill -9 $pid   else     echo "${JAR_NAME} is not running"   fi   }   #输出运行状态 status(){   is_exist   if [ $? -eq "0" ]; then     echo "${JAR_NAME} is running. Pid is ${pid}"   else     echo "${JAR_NAME} is NOT running."   fi }   #重启 restart(){   stop   sleep 5   start }   #根据输入参数,选择执行对应方法,不输入则执行使用说明 case "$1" in   "start")     start     ;;   "stop")     stop     ;;   "status")     status     ;;   "restart")     restart     ;;   *)     usage     ;; esac  
文章来源: https://blog.csdn.net/deaidai/article/details/89739193
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!