#!/bin/bash

# 配置监听端口和 JAR 文件路径
PORT=8086
JAR_PATH="microbee-http-3.5-SNAPSHOT.jar"

# 查找并杀死监听指定端口的 Java 进程
kill_java_process() {
  PID=$(lsof -t -i :$PORT)
  if [ -n "$PID" ]; then
    echo "正在杀死java程序PID为： $PID"
    kill -9 $PID
  else
    echo "没有正在运行的Java程序端口号为： $PORT"
  fi
}

# 删除旧的 nohup.out 文件
delete_nohup() {
  if [ -f "nohup.out" ]; then
    echo "删除旧的 nohup.out file"
    rm -rf nohup.out
  fi
}

# 启动 Java 程序并输出日志
start_java() {
  echo "启动Java程序 $JAR_PATH"
  nohup java -jar $JAR_PATH > nohup.out 2>&1 &
  echo "Java application started. Outputting logs:"
  tail -f nohup.out
}

# 根据传入的参数执行对应的操作
case "$1" in
  start)
    delete_nohup
    start_java
    ;;
  stop)
    kill_java_process
    ;;
  restart)
    kill_java_process
    delete_nohup
    start_java
    ;;
  *)
    echo "Usage: $0 {start|stop|restart}"
    exit 1
    ;;
esac

exit 0