vim start_boot.sh

#!/bin/bash

usage(){
echo "$0 [start|stop|usage]"
}

status_springboot(){
ps axu | grep "${jar_file}" | grep -v 'grep'
}
start_springboot(){
echo "springboot start"
#if [ `hostname` = "${jar_menu}01"  ]
#then
nohup java -server -Xmx${MEM_SIZE}m -Xms${MEM_SIZE}m  -Dio.netty.leakDetection.level=advanced -XX:+UseG1GC -XX:MaxGCPauseMillis=100 -jar ${jar_file} > /dev/null 2>&1 &
#else
nohup java -server -Xmx${MEM_SIZE}m -Xms${MEM_SIZE}m  -Dio.netty.leakDetection.level=advanced -XX:+UseG1GC -XX:MaxGCPauseMillis=100  -jar ${jar_file} > /dev/null 2>&1 &
#fi
}

stop_springboot(){
springboot_pid=` ps axu | grep "${jar_file}" | grep -v 'grep' | awk '{print $2}'`
kill -9 $springboot_pid
sleep 5;
TSTAT=$(ps axu | grep "${jar_file}" | grep -v 'grep' | awk '{print $2}')
if [ -z $TSTAT ];then
echo "springboot stop"
else
kill -9 $TSTAT
fi
}

function main(){

jar_menu=`hostname | cut -d"0" -f1`
[ -d /data/work/${jar_menu} ] || { echo -e "menu is not exist";exit 2; }
data_path="/data/work/${jar_menu}"
cd ${data_path}
jar_file=`ls -lrt *.jar | tail -1 | awk '{print $9}'`

#############judge jvm memory#######
total_memory=$(vmstat -s -S M|awk 'NR==1{print $1}')
avi_mem_size=$((${total_memory}/1024))
if [ ${avi_mem_size} -gt 6 ];then
MEM_SIZE="4096"
elif [ ${avi_mem_size} -le 4 ];then
MEM_SIZE="2048"
fi
echo ${MEM_SIZE}
case $1 in

start)
start_springboot
;;
stop)
stop_springboot
;;
status)
status_springboot
;;
restart)
stop_springboot
sleep 5
start_springboot
;;
*)
usage
;;
esac

}
main $1

服务启动脚本start_boot.sh的更多相关文章

  1. logstash服务启动脚本

    logstash服务启动脚本 最近在弄ELK,发现logstash没有sysv类型的服务启动脚本,于是按照网上一个老外提供的模板自己进行修改 #添加用户 useradd logstash -M -s ...

  2. 自己编写服务启动脚本(一):functions文件详细分析和说明

    本文目录: 1.几个显示函数2.action函数3.is_true和is_false函数4.confirm函数5.pid检测相关函数 5.1 checkpid.__pids_var_run和__pid ...

  3. Linux打包免安装的Qt程序(编写导出依赖包的脚本copylib.sh,程序启动脚本MyApp.sh)

    本文介绍如何打包Qt程序,使其在没有安装Qt的系统可以运行. 默认前提:另外一个系统和本系统是同一个系统版本. 1,编写导出依赖包的脚本copylib.sh #!/bin/bash LibDir=$P ...

  4. centos6服务启动脚本及开机启动过程

    centos6服务启动脚本 centos6的服务启动脚本都放在/etc/rc.d/init.d/下,/etc/init.d/是/etc/rc.d/init.d/的软链接: centos6的服务启动脚本 ...

  5. [shell脚本] mysql服务启动脚本

    服务启动脚本(初始化.启动.登录) #!/bin/bash export PID=/usr/local/nestdb_master/bin/mysqld export PASSWORD=123456 ...

  6. Nginx的编译安装及服务启动脚本

    1.解决依赖关系 编译安装nginx需要事先需要安装开发包组"Development Tools"和 "Development Libraries".同时,还需 ...

  7. Tomcat启动脚本catalina.sh

    1 - 概述脚本catalina.sh用于启动和关闭tomcat服务器,是最关键的脚本另外的脚本startup.sh和shutdown.sh都是使用不同的参数调用了该脚本该脚本的使用方法如下(引自该脚 ...

  8. linux下服务启动脚本

    #!/usr/bin/env python# -*- coding: utf-8 -*-# @File : deployment.py# @Author: Anthony.waa# @Date : 2 ...

  9. LVS Director端服务启动脚本

    #!/bin/bash # 手动安装lpvs前端管理工具 # chkconfig: - # # lvs启动脚本:director # lvs模式类型:nat.dr.ipip # lvs代理协议:tcp ...

随机推荐

  1. 剑指offer——04二维数组中的查找

    题目: 数组中唯一只出现一次的数字.在一个数组中除一个数字只出现一次之外,其他数字都出现了三次.请找出那个只出现一次的数字. 题解: 如果一个数字出现三次,那么它的二进制表示的每一位(0或者1)也出现 ...

  2. Django框架(五)—— 虚拟环境搭建

    目录 Django虚拟环境搭建 Django虚拟环境搭建 一.为什么要用虚拟环境 公司以前开发的项目是在Django1.5的基础上开发的,先要需要基于Django2.0开发一套项目.这样不能卸载原有版 ...

  3. Unity中对注册表进行修改

    问题背景: PC端软件开发,当我在Unity中的PlayerSetting中设置好分辨率,每次打包运行后会记忆上次退出时窗口的分辨率(记忆窗口状态),导致下次打开时不是PlayerSetting中的初 ...

  4. CSS标准的书写顺序

  5. mysql数据库 --表操作

    一.表与表之间建关系 (1) 将所有的数据放在一张表内的弊端 表的组织结构不清晰 浪费存储时间 可扩展性极差 ---> 类似于将所有的代码写入到一个py文件中 -->解耦部分 (2) 如何 ...

  6. while循环和for循环

    while循环 n='我怎么那么可爱呀' count= while count<len(n): print(n[count]) count+= for循环 n='我怎么那么可爱呀' for i ...

  7. 深度探索C++对象模型之第三章:数据语义学

    如下三个类: class X { }: class Y :public virtual X { }; class Z : public virtual X {}; class A :public Y, ...

  8. Replication Controller、Replica Set

    假如我们现在有一个Pod正在提供线上的服务,我们来想想一下我们可能会遇到的一些场景: 某次运营活动非常成功,网站访问量突然暴增 运行当前Pod的节点发生故障了,Pod不能正常提供服务了 第一种情况,可 ...

  9. native 之bitmap 保存坑

    之前开发项目的时候遇到几次一键保存二维码,或凭证的需求,但是使用h5 a标签 保存网络图片有些并不支持,于是想到了 使用navite 的bitmap可能会好一些 bitmap js封装后的原生图片对象 ...

  10. jq-demo-购物车

    首页 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title& ...