以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
脚本执行效果图
启动服务
停止服务
本文最后记录时间 2024-03-30
文章链接地址:https://me.jinchuang.org/archives/1153.html
本站文章除注明[转载|引用|来源],均为本站原创内容,转载前请注明出处
文章链接地址:https://me.jinchuang.org/archives/1153.html
本站文章除注明[转载|引用|来源],均为本站原创内容,转载前请注明出处
这特效浏览太占用资源了
? 我电脑浏览器打开都是很顺畅没啥问题,所以就开了
流畅度没问题,就是浏览器整体负载上来了