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

脚本执行效果图

启动服务

Linux jar包服务启动停止shell脚本

停止服务

Linux jar包服务启动停止shell脚本


本文最后更新时间 2024-03-30
文章链接地址:
https://hope.jinchuang.org/archives/1153.html
本站文章除注明[转载|引用],均为本站原创内容,转载前请注明出处
统计文本中每个字符出现的次数
Nali 离线ip数据库文件
苹果CMS v10内容管理系统搭建
bin/ld: Dwarf Error: found dwarf version '5', this reader only handles version 2, 3 and 4 information.

pip 安装错误 Command "python setup.py egg_info" failed with error code

Kubeadm 初始化时候报的警告信息 detected "cgroupfs" as the Docker cgroup driver ···

留言列表

  1. wllen
    Windows 10 Microsoft Edge
    中国上海市电信

    这特效浏览太占用资源了

    1. J.C
      J.C
      Windows 10 Google Chrome
      中国上海市电信

      ? 我电脑浏览器打开都是很顺畅没啥问题,所以就开了

      1. wllen
        Windows 10 Microsoft Edge
        中国天津市电信IDC机房

        流畅度没问题,就是浏览器整体负载上来了

我要留言