#!/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脚本的更多相关文章

  1. Linux crontab 每5秒钟执行一次 shell 脚本 的方法

    Linux crontab 每5秒钟执行一次 shell 脚本 的方法 由于 Linux 的 crontab 的定时命令格式如下: minute hour day-of-month month-of- ...

  2. Linux运维初级教程(一)Shell脚本

    序,掌握shell脚本是linux运维工程师的最基础技能. 一.脚本语言 与高级语言不通,脚本语言运行时需要调用相应的解释器来翻译脚本中的内容. 常见的脚本语言有Shell脚本.Python脚本.ph ...

  3. 好记性不如烂笔头--linux学习笔记9练手写个shell脚本

    #!/bin/bash #auto make install httpd #by authors baker95935 #httpd define path variable H_FILES=http ...

  4. linux下启动和终止JAVA程序shell脚本

    1.启动脚本start.sh #run application backgroud nohup java -jar chess-admin->& & #record the pr ...

  5. 功能:Linux运行jar包Shell脚本

    一.删除jar进程 # 删除指定jar的进程 ps -ef | grep java | grep testJar.1.0.1 | grep -v grep | cut -c 9-15 | xargs ...

  6. 运行jar包shell脚本

    #!/bin/sh #该文件必须放在jar包的目录下,因为是以相对路径来运行的.不放jar包目录的话,可以直接在jar_name参数写绝对路径 #start 设置三个参数 #环境 profile=te ...

  7. Linux下安装Redis php-redis扩展 redis重启shell脚本 超详细!

    前言 前面刚写过nosql其中三款热门产品的对比,这次主要写关于Redis的一些事情,Redis的介绍.安装以及扩展(php-redis,因为我是phper)安装等等.同时是写给我的朋友(cccjjj ...

  8. Linux 平台下 RMAN 全备 和 增量备份 shell 脚本

    转:http://blog.csdn.net/tianlesoftware/article/details/5740630 全备脚本 以 nocatalog 模式为例: Shell 脚本: ##### ...

  9. Linux系统下实时监控网口速率的shell脚本

    修改后的脚本文件 #!/bin/bash #Modified by lifei4@datangmobile.cn echo ===DTmobile NetSpeedMonitor=== sleep 1 ...

随机推荐

  1. HDU 6098 - Inversion | 2017 Multi-University Training Contest 6

    /* HDU 6098 - Inversion [ 贪心,数论 ] | 2017 Multi-University Training Contest 6 题意: 求出所有B[i] = max(A[j] ...

  2. 016_linuxC++之_多重继承

    (一)代码 #include <iostream> #include <string.h> #include <unistd.h> using namespace ...

  3. python音频处理

    第一步:先下载ffmpeg-->下载链接 下载好解压到某个文件夹,并将该文件夹中的bin目录添加到系统path. 第二步:安装pydub pip3 install pydub # -*- cod ...

  4. Vue小实例

    最近刚学习Vue的官方文档,了解了指令.模板.组件.数据双向绑定等有关Vue的知识点.因此估摸着做点实例出来练练手. 下面介绍一个简单的例子,模拟购物车自动统计金额,效果图如下: 代码如下: < ...

  5. ACM之路(14)—— 线段树的日常(上)

    我的线段树简直有毒,各种错误都能忙上半天.做了kuangbin的线段树专题的一半,还有一半留到以后去做. 链接:http://acm.hust.edu.cn/vjudge/contest/view.a ...

  6. Hadoop配置多个HDFS入口

    为了验证存在不同的hdfs之间的hive的互操作(归根结底还是为了解决BUG) 需要在两个不同的hadoop集群的HDFS  能够在Hiveserver2上进行路由转发绕过一些坑. 就需要将某hdfs ...

  7. sql到python正则

    import urllib.requestimport re,timeresult=[]for i in range(100):    urls ="http://xxx.com/-1%20 ...

  8. Java中基本数据类型

    在数据类型中,最常用也是最基础的数据类型,被称作基本数据类型.可以使用这些类型的值来代表一些简单的状态. Java 语言的基本数据类型总共有以下8 种,下面是按照用途划分出的4 个类别: 定点类型: ...

  9. Jinja2学习

    模板: 知名模板引擎:jinja2(flask默认的模板引擎) Mako template模板路径: 1.在渲染模板的时候,会默认从根目录下的templates目录下查找模板文件 2.也可以自定义模板 ...

  10. HDU2795线段树入门 简单查询和修改

    http://acm.hdu.edu.cn/showproblem.php?pid=2795 #include<iostream> using namespace std; ; int h ...