jar、war包启动、停止、重启shell脚本

场景:jar包为例,war包是类似的;一个目录中只有一个jar包,需要在jar包的同级目录下,一个脚本实现jar包的启停管理。

如有其他场景需要方法,请留言。

#!/bin/bash
# 下面一行是先获取当前路径,惯用写法
work_dir=$(cd `dirname $0`; pwd)
# 判断jar包,当前目录下只能有一个jar包存在,如果不是则报错
jar_num=`ls ${work_dir}/*.jar | wc -l`
if [ ${jar_num} -eq 0 ];then
    echo "Error: Can not find jar package in this jar home;please check!"
    exit 1
elif [ ${jar_num} -gt 1 ];then
    echo "Error: Find other jar package in this jar home; please check!"
    exit 1
fi
jar_name=`ls ${work_dir}/*.jar`

# 下面内容是服务执行部分 case "$1" in start) cd ${work_dir}
# jar启动命令,可根据实际情况修改 nohup java -Xms1024m -Xmx1024m -jar ${jar_name} >/dev/null 2>&1 & sleep 3 echo "service ${jar_name} start" ;; stop)
# 获取jar包的pid;以下是centos7的写法;其他操作系统可自行定义 svc_pid=`ps -ef | grep ${jar_name} | grep -v grep | awk '{print $2}'` len_pid=`echo ${svc_pid}|wc -c` if [ ${len_pid} -le 2 ];then echo "No need stop service ${jar_name}" else kill -9 ${svc_pid} sleep 3 echo "service ${jar_name} stopd" fi ;; restart) $0 stop sleep 2 $0 start ;; *) ## restart $0 stop sleep 2 $0 start ;; esac

 

使用方法:

将上面的内容写到脚本文件,如boot.sh

启动:[脚本路径]/boot.sh start

重启:[脚本路径]/boot.sh restart  或者:[脚本路径]/boot.sh

停止:[脚本路径]/boot.sh stop

转载于:https://www.cnblogs.com/yuzichen/p/10248592.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值