1.脚本代码 xx.sh,自己随意命名
#!/bin/bash# 设置变量
JAR_NAME="xssq-1.0.0.jar"
JAR_PATH="./$JAR_NAME"
PID=0#检查程序是否在运行
is_exist(){PID=`ps -ef|grep $JAR_NAME|grep -v grep|awk '{print $2}' `#如果不存在返回1,存在返回0if [ -z "${PID}" ]; thenreturn 1elsereturn 0fi
}# 定义启动函数
start() {is_existif [ $? -eq "0" ]; thenecho "服务已经启动,PID: $PID"elseecho "正在启动服务..."java -jar $JAR_PATH >/dev/null 2>&1 &PID=$!echo "服务已经成功启动,PID: $PID"fi
}# 定义暂停函数
stop() {is_existif [ $? -eq "0" ]; thenecho "正在关闭服务,PID: $PID"kill -9 $PIDecho "服务已经成功关闭"elseecho "服务已经被关闭"fi
}# 处理命令参数
case "$1" instart)start;;stop)stop;;restart)stopstart;;*)echo "使用方法: $0 {start|stop|restart}"exit 1;;
esacexit 0# 启动命令 sh 文件名 start或者 stop或者restart
2.需调整地方
- JAR_NAME=“xssq-1.0.0.jar” 中的jar改成自己项目的jar
- xx.sh 和jar文件放在同级目录下
- java -jar $JAR_PATH >/dev/null 2>&1 & 可以换成
java -jar $JAR_PATH >>/www/wwwroot/jar/logs/sys-info.log 2>&1 & (增加日志文件输出,可以不加)
3.使用
cd 到jar文件目录,然后开始使用如下命令启动停止项目
第一次使用执行
chmod 744 xx.sh
启动:
sh xx.sh start
停止:
sh xx.sh stop
重启:
sh xx.sh restart
参考:
https://blog.csdn.net/Enriquze/article/details/135517720
https://blog.csdn.net/qq_57581439/article/details/133247301