Linux Java服务管理脚本(启动、停止、查看状态)

Linux Java服务管理脚本(启动、停止、查看状态)

新建脚本

bash 复制代码
vim service.sh

脚本内容

JAR_FLE 填写jar包的文件名!!!

bash 复制代码
#!/bin/bash

JAR_FILE=quanzhou-driver-ai-api-0.0.1-SNAPSHOT.jar

usage() {
    echo "Usage: $0 {start|stop|status}"
    echo ""
    echo "Options:"
    echo "  start      Start the service."
    echo "  stop       Stop the service."
    echo "  status     Check the service status."
    echo ""
}

if [ -z "$1" ]; then
    usage
    exit 1
fi


case "$1" in
    start)
        echo "Starting service with JAR file: $JAR_FILE"
        nohup java -Dspring.profiles.active=test -jar $JAR_FILE > /dev/null 2>&1 &
        PID=$(pgrep -f "$JAR_FILE")
        echo "Service started successfully with PID: $PID"
        ;;
    stop)
        echo "Stopping service..."
        PID=$(pgrep -f "$JAR_FILE")
        if [ -z "$PID" ]; then
            echo "No running process found."
        else
            kill -9 $PID
            echo "Service stopped successfully with PID: $PID"
        fi
        ;;

    status)
        PID=$(pgrep -f "$JAR_FILE")
        if [ -z "$PID" ]; then
            echo "Service is not running."
        else
            echo "Service is running with PID: $PID"
        fi
        ;;
    *)
        usage
        exit 1
        ;;
esac

exit 0

保存

bash 复制代码
esc 退出编辑模式

:wq 保存修改

赋予权限

bash 复制代码
chmod +x service.sh

脚本使用

bash 复制代码
./service.sh start 启动服务
./service.sh stop 停止服务
./service.sh status 查看状态
相关推荐
一只栖枝3 小时前
华为 HCIE 大数据认证中 Linux 命令行的运用及价值
大数据·linux·运维·华为·华为认证·hcie·it
wuicer5 小时前
ubuntu 20.04 安装anaconda以及安装spyder
linux·运维·ubuntu
桦说编程5 小时前
Java 中如何创建不可变类型
java·后端·函数式编程
lifallen5 小时前
Java Stream sort算子实现:SortedOps
java·开发语言
IT毕设实战小研5 小时前
基于Spring Boot 4s店车辆管理系统 租车管理系统 停车位管理系统 智慧车辆管理系统
java·开发语言·spring boot·后端·spring·毕业设计·课程设计
没有bug.的程序员6 小时前
JVM 总览与运行原理:深入Java虚拟机的核心引擎
java·jvm·python·虚拟机
甄超锋6 小时前
Java ArrayList的介绍及用法
java·windows·spring boot·python·spring·spring cloud·tomcat
cui__OaO6 小时前
Linux软件编程--线程
linux·开发语言·线程·互斥锁·死锁·信号量·嵌入式学习
小狗爱吃黄桃罐头6 小时前
正点原子【第四期】Linux之驱动开发篇学习笔记-1.1 Linux驱动开发与裸机开发的区别
linux·驱动开发·学习
阿华的代码王国6 小时前
【Android】RecyclerView复用CheckBox的异常状态
android·xml·java·前端·后端