Linux之jar包之启动与停止脚本

Linux之jar包之启动与停止脚本

一、使用说明

启动

bash 复制代码
./service.sh start

关闭

bash 复制代码
./service.sh stop

二、脚本代码

bash 复制代码
#!/bin/bash
#这里可替换为你自己的执行程序,其他代码无需更改
APP_NAME=mxy_system-0.0.1-SNAPSHOT.jar
# shellcheck disable=SC2006
# shellcheck disable=SC2034
cur_dateTime="`date +%Y%m%d%H%M%S`"
#使用说明,用来提示输入参数
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
 nohup java -jar $APP_NAME > /usr/local/nginx/admin-system/log/system"$cur_dateTime".log 2>&1 &
 echo "${APP_NAME} start 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
相关推荐
cellurw7 分钟前
Day75 RS-485 通信协议设计、串口编程与嵌入式系统部署实践
linux
海棠蚀omo2 小时前
Linux基础I/O-打开新世界的大门:文件描述符的“分身术”与高级重定向
linux·操作系统
带土12 小时前
33. 文件IO (4) 二进制文件操作与结构体存储 文件路径与目录操作
linux
无敌最俊朗@3 小时前
C++音视频就业路线
linux·windows
Fr2ed0m3 小时前
Linux 文本处理完整指南:grep、awk、sed、jq 命令详解与实战
linux·运维·服务器
大聪明-PLUS3 小时前
使用 GitLab CI/CD 为 Linux 创建 RPM 包(一)
linux·嵌入式·arm·smarc
边疆.3 小时前
【Linux】自动化构建工具make和Makefile和第一个系统程序—进度条
linux·运维·服务器·makefile·make
2021黑白灰3 小时前
windows11 vscode ssh远程linux服务器/虚拟机 免密登录
linux·服务器·ssh
z202305083 小时前
linux之PCIE 设备枚举流程分析
linux·运维·服务器
simple_whu4 小时前
编译tiff:arm64-linux-static报错 Could NOT find CMath (missing: CMath_pow)
linux·运维·c++