Linux按顺序启动多个jar的shell脚本
#!/bin/sh
export EUREKA=pigx-eureka.jar
export CONFIG=pigx-config.jar
export GATEWAY=pigx-gateway.jar
export AUTH=pigx-auth.jar
export UPMS=pigx-upms-biz.jar export EUREKA_port=
export CONFIG_port=
export GATEWAY_port=
export AUTH_port=
export UPMS_port= case "$1" in start)
## 启动eureka
echo "--------eureka 开始启动--------------"
nohup java -jar $EUREKA &
EUREKA_pid=`lsof -i:$EUREKA_port|grep "LISTEN"|awk '{print $2}'`
until [ -n "$EUREKA_pid" ]
do
EUREKA_pid=`lsof -i:$EUREKA_port|grep "LISTEN"|awk '{print $2}'`
done
echo "EUREKA pid is $EUREKA_pid"
echo "--------eureka 启动成功--------------" ## 启动config
echo "--------开始启动CONFIG---------------"
nohup java -jar $CONFIG &
CONFIG_pid=`lsof -i:$CONFIG_port|grep "LISTEN"|awk '{print $2}'`
until [ -n "$CONFIG_pid" ]
do
CONFIG_pid=`lsof -i:$CONFIG_port|grep "LISTEN"|awk '{print $2}'`
done
echo "CONFIG pid is $CONFIG_pid"
sleep 10
echo "---------CONFIG 启动成功-----------" ## 启动gateway
echo "--------开始启动GATEWAY---------------"
nohup java -jar $GATEWAY &
GATEWAY_pid=`lsof -i:$GATEWAY_port|grep "LISTEN"|awk '{print $2}'`
until [ -n "$GATEWAY_pid" ]
do
GATEWAY_pid=`lsof -i:$GATEWAY_port|grep "LISTEN"|awk '{print $2}'`
done
echo "GATEWAY pid is $GATEWAY_pid"
echo "---------GATEWAY 启动成功-----------" ## 启动auth
echo "--------开始启动AUTH---------------"
nohup java -jar $AUTH &
AUTH_pid=`lsof -i:$AUTH_port|grep "LISTEN"|awk '{print $2}'`
until [ -n "$AUTH_pid" ]
do
AUTH_pid=`lsof -i:$AUTH_port|grep "LISTEN"|awk '{print $2}'`
done
echo "AUTH pid is $AUTH_pid"
echo "---------AUTH 启动成功-----------" ## 启动upms
echo "--------开始启动UPMS---------------"
nohup java -jar $UPMS &
UPMS_pid=`lsof -i:$UPMS_port|grep "LISTEN"|awk '{print $2}'`
until [ -n "$UPMS_pid" ]
do
UPMS_pid=`lsof -i:$UPMS_port|grep "LISTEN"|awk '{print $2}'`
done
echo "UPMS pid is $UPMS_pid"
echo "---------UPMS 启动成功-----------" echo "===startAll success==="
;; stop)
P_ID=`ps -ef | grep -w $EUREKA | grep -v "grep" | awk '{print $2}'`
if [ "$P_ID" == "" ]; then
echo "===EUREKA process not exists or stop success"
else
kill - $P_ID
echo "EUREKA killed success"
fi
P_ID=`ps -ef | grep -w $CONFIG | grep -v "grep" | awk '{print $2}'`
if [ "$P_ID" == "" ]; then
echo "===CONFIG process not exists or stop success"
else
kill - $P_ID
echo "CONFIG killed success"
fi
P_ID=`ps -ef | grep -w $GATEWAY | grep -v "grep" | awk '{print $2}'`
if [ "$P_ID" == "" ]; then
echo "===GATEWAY process not exists or stop success"
else
kill - $P_ID
echo "GATEWAY killed success"
fi
P_ID=`ps -ef | grep -w $AUTH | grep -v "grep" | awk '{print $2}'`
if [ "$P_ID" == "" ]; then
echo "===AUTH process not exists or stop success"
else
kill - $P_ID
echo "AUTH killed success"
fi
P_ID=`ps -ef | grep -w $UPMS | grep -v "grep" | awk '{print $2}'`
if [ "$P_ID" == "" ]; then
echo "===UPMS process not exists or stop success"
else
kill - $P_ID
echo "UPMS killed success"
fi echo "===stop success==="
;; restart)
$ stop
sleep
$ start
echo "===restart success==="
;;
esac
exit
注:lsof命令需要安装
Linux按顺序启动多个jar的shell脚本的更多相关文章
- Linux crontab 每5秒钟执行一次 shell 脚本 的方法
Linux crontab 每5秒钟执行一次 shell 脚本 的方法 由于 Linux 的 crontab 的定时命令格式如下: minute hour day-of-month month-of- ...
- Linux运维初级教程(一)Shell脚本
序,掌握shell脚本是linux运维工程师的最基础技能. 一.脚本语言 与高级语言不通,脚本语言运行时需要调用相应的解释器来翻译脚本中的内容. 常见的脚本语言有Shell脚本.Python脚本.ph ...
- 好记性不如烂笔头--linux学习笔记9练手写个shell脚本
#!/bin/bash #auto make install httpd #by authors baker95935 #httpd define path variable H_FILES=http ...
- linux下启动和终止JAVA程序shell脚本
1.启动脚本start.sh #run application backgroud nohup java -jar chess-admin->& & #record the pr ...
- 功能:Linux运行jar包Shell脚本
一.删除jar进程 # 删除指定jar的进程 ps -ef | grep java | grep testJar.1.0.1 | grep -v grep | cut -c 9-15 | xargs ...
- 运行jar包shell脚本
#!/bin/sh #该文件必须放在jar包的目录下,因为是以相对路径来运行的.不放jar包目录的话,可以直接在jar_name参数写绝对路径 #start 设置三个参数 #环境 profile=te ...
- Linux下安装Redis php-redis扩展 redis重启shell脚本 超详细!
前言 前面刚写过nosql其中三款热门产品的对比,这次主要写关于Redis的一些事情,Redis的介绍.安装以及扩展(php-redis,因为我是phper)安装等等.同时是写给我的朋友(cccjjj ...
- Linux 平台下 RMAN 全备 和 增量备份 shell 脚本
转:http://blog.csdn.net/tianlesoftware/article/details/5740630 全备脚本 以 nocatalog 模式为例: Shell 脚本: ##### ...
- Linux系统下实时监控网口速率的shell脚本
修改后的脚本文件 #!/bin/bash #Modified by lifei4@datangmobile.cn echo ===DTmobile NetSpeedMonitor=== sleep 1 ...
随机推荐
- BZOJ 2440 [中山市选2011]完全平方数 二分+容斥
直接筛$\mu$?+爆算?再不行筛素数再筛个数?但不就是$\mu^2$的前缀和吗? 放...怕不是数论白学了$qwq$ 思路:二分+容斥 提交:两次(康了题解) 题解: 首先答案满足二分性质(递增), ...
- spring-boot web项目常用配置
一.对用户输入query参数过滤空字符串 使用 WebBindingInitializer 来对string类型参数进行过滤,但是这种方式只能处理query参数不能处理body参数 代码例子: /** ...
- 7.20T1
排序(sort) [问题描述] 有 n 个人依次站在小 A 面前.小 A 会依次对这 n 个人进行 m 次操作. 每次操作选择一个位置 k,将这 n 个人中的所有身高小于等于当前 k 位置的 人的身高 ...
- Mac Appium环境搭建
安装brew ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go)" 安装java brew install ...
- 2017 ZSTU寒假排位赛 #3
题目链接:https://vjudge.net/contest/147974#overview. A题,费用流,不会..跳过了. B题,给一个图,问至少添加几条边能成为强连通图.显然缩点,要使得成为一 ...
- POJ 1144 Network —— (找割点)
这是一题找无向图的割点的模板题,割点的概念什么的就不再赘述了.这里讲一下这个模板的一个注意点. dfs中有一个child,它不等于G[u].size()!理由如下: 如上图,1的size是2,但是它的 ...
- CF280C
CF280C ZR补题计划 题意: 一棵有根树,每次选择一个未删除的节点,然后删除它和它的子树内的点,问期望删多少次可以把整个树删完 解析: 显然,通过题面,我们可以知道对于一个点对 $ (u,v) ...
- [CSP-S2019]:赛后总结
笔者有幸参加了$CSP-S\ 2019$,$AFO$之前,写下自己最后一篇赛后总结. $Day\ 0$ 早上起来把自己调了一晚上被卡空间的题卡过了,很开心(内存限制$256MB$,然而我的内存申请是$ ...
- break语句与continue语句
break:终止该层循环: continue:跳过该层循环 注: ①:若这两个语句离开应用范围,存在是没有意义的. ②:这个两个语句后面都不能有语句,因为执行不到. ③:continue语句是跳过本次 ...
- 通过Maven更换环境配置文件
大致思路:配置文件有三套:main/resources.devmain/resources.prodmain/resources.test公共部分放到main/resource下使用mvn clean ...