简单的Linux平台的Java程序启动脚本

下面是一个简单的Linux平台的Java程序的启动脚本,请将脚本的server_name=“XXXX” 中的XXXX修改为自己对应的jar包名称就可以使用了,不需要添加后缀名.jar

支持的功能:
1、启动
2、重启
3、停止
4、查看服务状态

#!/usr/bin/env bash
#jar包名称
server_name="XXXX"

status() {
    
    
  if [[ -n $(ps -ef | grep -v grep | grep ${
    
    server_name} | sed -n '1P' | awk '{print $2}') ]]; then
    echo -e "\033[36m ##: 正常运行中~ \033[0m"
  else
    echo -e "\033[31m 已经停止 \033[0m"
  fi
}

start() {
    
    
  if [[ -z $(ps -ef | grep -v grep | grep ${
    
    server_name} | sed -n '1P' | awk '{print $2}') ]]; then
    #    停止了
    nohup java -jar ${
    
    server_name}'.jar'  >>server.log &
    if [[ -n $(ps -ef | grep -v grep | grep ${
    
    server_name} | sed -n '1P' | awk '{print $2}') ]]; then
      echo -e "\033[36m ##: 启动成功~ \033[0m"
    else
      echo -e "\033[31m 启动失败 \033[0m"
    fi
  else
    echo -e "\033[32m ##: 服务已经在运行中... \033[0m"
  fi

}

stop() {
    
    
  ps -ef | grep -v grep | grep ${
    
    server_name} | sed -n '1P' | awk '{print $2}' | xargs kill -9
  if [[ -z $(ps -ef | grep -v grep | grep ${
    
    server_name} | sed -n '1P' | awk '{print $2}') ]]; then
    echo -e "\033[32m ##: 已停止... \033[0m"
  fi
}

main() {
    
    

  if [ ! -f ${
    
    server_name}".jar" ]; then
    echo -e "\033[31m 当前目录不存在  ${server_name}.jar  文件 \033[0m"
  else
#    存在文件
    echo -e "\033[42;30m ###[ 控制台 ]### \033[0m"
    echo -e "\033[32m 0. \033[0m 启动服务"
    echo -e "\033[32m 1. \033[0m 停止服务"
    echo -e "\033[32m 2. \033[0m 查看服务状态"
    echo -e "\033[32m 3. \033[0m 重启服务"

    read -p "请输入数字0-2的选项,回车确认: " choose
    case $choose in
    0)
      start
      ;;
    1)
      stop
      ;;
    2)
      status
      ;;
    3)
      stop
      start
      ;;
    *)
      echo -e "\033[31m 请输入合法的数字 \033[0m"
      ;;
    esac
  fi

}

main

在jar包所在路径,创建一个shell脚本文件,将上面的内容复制到脚本中,脚本中jar的名称记得修改一下

#创建脚本文件
vim start.sh
#授权
chmod +x ./start.sh

使用效果:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_33505611/article/details/110865646