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
相关推荐
fangjianj1 小时前
LAMP 项目部署
linux
mengge.cloud2 小时前
0909华为云计算类综合服务小白实验教程
linux·运维·服务器·网络·华为云·云计算
fangjianj2 小时前
自有服务及软件包
linux
风哥2号4 小时前
数据库教程FGMT03‑生产环境Linux+Oracle19c+ASM安装配置与项目实战
linux·数据库
一木 之林4 小时前
七、一-AI 工程实践、插件化调试与软件交付
java·linux·c++
zhengqweasd4 小时前
Linux网络(一):服务器数据包从网卡到应用程序,完整收包流程详解
linux·服务器·网络
脚踏实地,坚持不懈!5 小时前
Linux 6.18.7 内存分配与回收 —— 代码梳理
linux·运维·网络
byte轻骑兵5 小时前
【BlueZ 】hci 模块:用户态 HCI 层的核心封装与消息处理
linux·人工智能·bluez·电脑蓝牙·嵌入式蓝牙
Android系统攻城狮6 小时前
Linux Gstreamer深度解析之gst_audio_format_build_integer调用流程与实战(十二)
linux·运维·服务器·音视频·车载音视频·gstreamer进阶
吴声子夜歌6 小时前
Shell脚本——流程控制:for循环
linux·运维·shell