用途121.jenkins自动重新打jar包2.手动使用脚本对jar文件进行启动、停止等 内容123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081#!/bin/bash#这里可替换为你自己的执行程序,其他代码无需更改 需要修改为代码实际路径APP_NAME=/home/server/log/log-1.0.0.jar #使用说明,用来提示输入参数usage() { echo "Usage: sh 执行脚本.sh [start|stop|restart|status]" exit 1} #检查程序是否在运行is_exist(){ pid=`ps -ef|grep $APP_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 "${APP_NAME} is already running. pid=${pid} ." else # 需要配置为java的路径,原因:jenkins使用脚本时,不能获取环境变量,手动执行可以直接使用 此处是log文件路径,修改为实际 nohup /usr/lib/jvm/java-11-openjdk-11.0.15.0.9-2.el7_9.x86_64/bin/java -jar $APP_NAME >/home/server/logs/log.log & echo "App is runing success!" fi} #停止方法stop(){ is_exist if [ $? -eq "0" ]; then kill -9 $pid else echo "${APP_NAME} is not running" fi} #输出运行状态status(){ is_exist if [ $? -eq "0" ]; then echo "${APP_NAME} is running. Pid is ${pid}" else echo "${APP_NAME} is NOT running." fi} #重启restart(){ stop start} #根据输入参数,选择执行对应方法,不输入则执行使用说明case "$1" in "start") start ;; "stop") stop ;; "status") status ;; "restart") restart ;; *) usage ;;esac 使用方法1234{shname}.sh {start/restart/stop}start 启动restart 重启stop 关闭