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第二版面试题1:数组中重复的数字(JAVA版)

    题目:在一个长度为n的数组里的所有数字都在0到n-1的范围内.数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复的次数.请找出数组中任意一个重复的数字.例如如果输入长度为7的数组{ ...

  2. PAT_A1062#Talent and Virtue

    Source: PAT A1062 Talent and Virtue (25 分) Description: About 900 years ago, a Chinese philosopher S ...

  3. 牛客练习赛51 B 子串查询 https://ac.nowcoder.com/acm/contest/1083/B

    题目描述 给出一个长度为n的字符串s和q个查询.对于每一个查询,会输入一个字符串t,你需要判断这个字符串t是不是s的子串.子串的定义就是存在任意下标a<b<c<d<e,那么”s ...

  4. 如何删除github里的项目

    1.登录github网站后,就会看到如下画面,在头像下面有个你的项目资源这一栏,假如我要删除名为“hhh”的项目,现在鼠标点进这个项目里面 2.进去后点setting 点进去后,默认是选择了OPtio ...

  5. 装箱与拆箱(TDB)

    装箱:把值类型转换为引用类型 拆箱:把引用类型转换为值类型 只能对之前装箱的变量进行拆箱.需要强制转换.

  6. forEarch 和 for in

    forEarch 遍历数组,遍历的过程中不能被终止,必须每一个值遍历一遍后才能停下来,for  in遍历对象中的属性 代码: <!DOCTYPE html> <html lang=& ...

  7. 常用Linux日志文件功能

    /var/log目录下的20个Linux日志文件功能详解 :   如果愿意在Linux环境方面花费些时间,首先就应该知道日志文件的所在位置以及它们包含的内容.在系统运行正常的情况下学习了解这些不同的日 ...

  8. Java 导出excel进行换行

    在导出excel 的时候,如果原始文字中含有 \n 字符,生成的excel中 会生成 _0040_ 字样的乱码, 如果把 \n 替换为<br/>,excel不会识别成换行符 excel 认 ...

  9. Ruby 安装 – Unix

    Ruby 安装 - Unix 下面列出了在 Unix 机器上安装 Ruby 的步骤. 注意:在安装之前,请确保您有 root 权限. 下载最新版的 Ruby 压缩文件.请点击这里下载. 下载 Ruby ...

  10. 【Tomcat】Tomcat调优

    Tomcat的默认配置,性能并不是最优的,我们可以通过优化tomcat以此来提高网站的并发能力.提高Tomcat的性能可以分为两个方向. 服务器资源 服务器所能提供CPU.内存.硬盘的性能对处理能力有 ...