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,存在返回0
if [ -z "${PID}" ]; then
return 1
else
return 0
fi
}
# 定义启动函数
start() {
is_exist
if [ $? -eq "0" ]; then
echo "服务已经启动,PID: $PID"
else
echo "正在启动服务..."
java -jar $JAR_PATH >/dev/null 2>&1 &
PID=$!
echo "服务已经成功启动,PID: $PID"
fi
}
# 定义暂停函数
stop() {
is_exist
if [ $? -eq "0" ]; then
echo "正在关闭服务,PID: $PID"
kill -9 $PID
echo "服务已经成功关闭"
else
echo "服务已经被关闭"
fi
}
# 处理命令参数
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
*)
echo "使用方法: $0 {start|stop|restart}"
exit 1
;;
esac
exit 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.youkuaiyun.com/Enriquze/article/details/135517720
https://blog.youkuaiyun.com/qq_57581439/article/details/133247301