#!/bin/bash # 定义应用的基本配置 APP_NAME="InfraServerApplication" JAR_FILE="yudao-module-infra-biz.jar" PID_FILE="$APP_NAME.pid" LOG_FILE="$APP_NAME.log" # 指定Java环境变量(如果需要的话) # JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-amd64 # export JAVA_HOME # export PATH=$JAVA_HOME/bin:$PATH # JVM运行参数 JAVA_OPTS="-Xms128m -Xmx256m " # 启动函数 start() { if [ -f $PID_FILE ]; then echo "服务已经启动,进程ID:$(cat $PID_FILE)" exit 1 fi echo "启动服务..." nohup java $JAVA_OPTS -jar $JAR_FILE > $LOG_FILE 2>&1 & echo $! > $PID_FILE echo "服务已启动,进程ID:$!" } # 停止函数 stop() { if [ ! -f $PID_FILE ]; then echo "服务未运行!" exit 1 fi PID=$(cat $PID_FILE) echo "停止服务 (PID: $PID)..." kill $PID rm -f $PID_FILE echo "服务已停止。" } # 重启函数 restart() { stop sleep 3 # 等待服务完全停止后稍作延迟再启动 start } # 解析命令行参数 case "$1" in start) start ;; stop) stop ;; restart) restart ;; status) if [ -f $PID_FILE ]; then echo "服务正在运行,进程ID:$(cat $PID_FILE)" else echo "服务未运行。" fi ;; *) echo "Usage: $0 {start|stop|restart|status}" exit 1 esac exit 0