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://me.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. Awking
      Windows 10 Google Chrome
      中国上海市电信

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

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

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

我要留言