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. html01. <!DOCTYPE html>

    解释 在HTML文档初,往往会有这么一句话<!DOCTYPE html>,它是html5标准网页声明,全称为Document Type HyperText Mark-up Language ...

  2. 10 个轻松学会 CSS3 的优秀在线资源

    本文包揽 CSS 的所有关键点,并且引入了最新的 CSS3 版本.这个先进的技术提供超级多的新标签和属性,使得 Web 设计构建创新更简单,帮助开发者创建具有新趋势,带有漂亮布局的 Web 页面.随着 ...

  3. Java多态的实现机制是什么,写得非常好!

    作者:crane_practice www.cnblogs.com/crane-practice/p/3671074.html Java多态的实现机制是父类或接口定义的引用变量可以指向子类或实现类的实 ...

  4. bigger is greater

    题目: Lexicographical order is often known as alphabetical order when dealing with strings. A string i ...

  5. null == null 或者 [] == [] 或者{} == {} 或者alert(1|| 2) 或者alert(1&& 2) 结果及原理

    相信面试的小伙伴们都会遇到此头大的问题,是不是很想骂一句面试官:你白痴啊,鬼都用不着的东西拿来问,你还别说,这些看似用不着的东西却包含着最基础的原理,那我们来理一理. 1.alert(1||2)和 a ...

  6. 二维码APP后台开发记录

    先是搭建环境,我们采用spring4.2.1+hibernate5.0.1进行搭建,从官网上下载框架必用jar包. 在MyEclipse里,创建web项目,创建lib包,将相关jar包放入,别忘了my ...

  7. Spring入门(二)

    Spring IOC&DI 控制反转(inversion of control):控制什么?什么反转? 我们都知道,传统的程序中,如果A类需要使用B类对象,会在程序中直接创建B类对象实例,此时 ...

  8. vue axios----基于 Promise 的 HTTP 请求

    vue axiosvue2.0之axios接口請求管理功能特性axios API開始使用get請求post请求多个请求并发拦截器移除一个拦截器:自定义的 axios 实例添加拦截器:vue2.0之ax ...

  9. 笔记37 Spring Web Flow——流程的组件

    在Spring Web Flow中,流程是由三个主要元素定义的:状态.转移和 流程数据. 一.状态 Spring Web Flow定义了五种不同类型的状态.通过选择Spring Web Flow的状态 ...

  10. $.extend() $.fn.extend()

    (非原创)jQuery为开发插件提拱了两个方法,分别是:jQuery.fn.extend();jQuery.extend();虽然 javascript 没有明确的类的概念,但是用类来理解它,会更方便 ...