老爹
老爹
发布于 2026-02-26 / 11 阅读
0
0

启动项目

windows(建议用nssm把jar打成服务)

@echo off
chcp 65001 >nul
set jarName=你的.jar
echo 正在停止 %jarName% 相关进程...
:: 第一步:通过WMIC精确查杀相关Java进程
wmic process where "name='java.exe' and commandline like '%%%jarName%%%'" delete >nul 2>&1
:: 第二步:如果WMIC失败,通过taskkill按名称强制查杀(针对残留进程)
taskkill /f /im "java.exe" /fi "cmdline eq %%*%jarName%*%%" >nul 2>&1
:: 第三步:等待3秒,确保操作系统释放端口资源(关键步骤)
ping -n 3 127.0.0.1 >nul
title=%jarName%
java -XX:+UseG1GC -Duser.timezone=Asia/Shanghai -jar %jarName%
exit

linux(建议把jar做进service文件)

#! /bin/bash

# jar名和目录
JAR_NAME=你的.jar
FILE_PATH=/home/jar/fightCommand

#创建日志目录
logsPath=${FILE_PATH}/logs
if [ ! -d ${logsPath} ];then
	mkdir ${logsPath}
fi

cd $FILE_PATH

# 关闭程序
pid=$(ps -ef | grep ${JAR_NAME}| grep -v "grep" | awk '{print $2}')
if [[ ${pid} != '' ]];then
	kill -9 ${pid}
fi	

# 启动项目
nohup java -XX:+UseG1GC -Duser.timezone=Asia/Shanghai -jar ${FILE_PATH}/${JAR_NAME} 1>/dev/null 2>&1 &


评论