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