靳闯博客 记录是一种习惯 、分享是一种态度
  • 波浪
  • 波浪
  • 波浪
  • 波浪
linux jar包服务启动停止shell脚本
发表于: | 分类: 技术积累 | 标签: Linux Shell

以Java的jar包服务为例,启动停止带服务检查的shell脚本,提供单个服务启动停止 和 多个服务同时启动停止,
最简单脚本几行就可以了,启动[ java 启动参数 -jar xxx.jar ],停止 [找到pid,kill掉],我这个脚本就是加了点判断和颜色输出


使用:需要修改 jdk路径、包目录、项目名、包名
例如:jar包完整名称为:test-web.jar,[test]就是项目名,[web]就是包名,自定义修改即可

#!/bin/bash

# jdk
jdk="jdk路径"

# 项目名
pjname="xxxxxx"

# jar包目录
dir="/java/$pjname"

# 多个jar包名称
jar1="xxx"
jar2="xxx"
jar3="xxx"
jar4="xxx"
alljar="$jar1 $jar2 $jar3 $jar4"

# 成功
success(){
    echo -e "\033[32m[$pjname-$1]服务$2\033[0m"
}

# 失败
fail(){
    echo -e "\033[31m[$pjname-$1]服务$2\033[0m"
}

# 警告
waring(){
    echo -e "\033[33m  请输入正确的要${1}的服务名称:[ $jar1 | $jar2 | $jar3 | $jar4 ]\n  如果要${1}所有服务请使用: all\033[0m"
}

# 提示
tips(){
    echo -e "\033[36m请输入正确的参数:[ start | stop ]\033[0m"
}

# 服务检查
started(){
    jps|grep $pjname-$1 && success $1 已在运行中 && $2
}
verifysa(){
    started $1 continue
}
verifys(){
    started $1 exit
}

# 服务检查
killed(){
    ps -ef |grep -v "grep"|grep "$pjname-$1"|awk '{print $2}'|xargs kill -9 >/dev/null 2>&1 && success $1 停止成功|| fail $1 未启动 && $2
}
verifyt(){
    killed $1 exit
}
verifyta(){
    killed $1 continue
}


# 启动后验证
verify() {
    jps|grep $pjname-$1 && success $1 ${2}成功 || fail $1 ${2}失败
}

# 启动
starting(){
    $jdk -jar $dir/$pjname-$1.jar >/dev/null 2>&1 &
    verify $1 启动
}

# 停止
stoping(){
    ps -ef |grep -v "grep"|grep "$pjname-$1"|awk '{print $2}'|xargs kill -9 >/dev/null 2>&1
    verify $1 停止
}

# 执行
case $1 in
    start)
        if [[ $2 = $jar1 || $2 = $jar2 || $2 = $jar3 || $2 = $jar4 ]];then
            verifys $2
            starting $2
        elif [[ $2 = all ]];then
            for i in $alljar;do verifysa $i;starting $i;done
        else
            waring 启动
        fi
    ;;
    
    stop)
        if [[ $2 = $jar1 || $2 = $jar2 || $2 = $jar3 || $2 = $jar4 ]]
        then
            verifyt $2
            stoping $2
        elif [[ $2 = all ]];then
            for i in $alljar;do verifyta $i;stoping $i;done
        else
            waring 停止
        fi
    ;;
    *)
        tips
    ;;
esac

脚本执行效果图

启动服务

jar start.png


停止服务

jar stop.png


商业转载请联系作者获得授权,非商业转载请注明出处 本文地址:https://me.jinchuang.org/archives/1153.html

如果这篇文章帮助到了你,我感到十分荣幸!


📬 评论留言 ↴

TOP