#!/bin/sh
JarDir=`pwd`
do_start()
{
echo "pandora-login start ..."
nohup java -jar -Xmn256m -Xmx2048m -XX:MaxTenuringThreshold=2 -Dspring.profiles.active=ali $JarDir/pandora-login.jar >/dev/null 2>&1 &
sleep 3
SERVER_PID=`ps -ef|grep -v grep| grep "pandora-login.jar"|awk '{print $2}'`
if [ "$SERVER_PID" == "" ]; then
echo "pandora-login start fail"
return 1
fi
i=0
while [ $i -lt 60 ]
do
sleep 1
cpu_float1=`top -b -n 1 -p $SERVER_PID 2>&1 | awk -v pid=$SERVER_PID '{if ($1 == pid)print $9}'`
cpu1=`echo ${cpu_float1%.*}`
sleep 1
cpu_float2=`top -b -n 1 -p $SERVER_PID 2>&1 | awk -v pid=$SERVER_PID '{if ($1 == pid)print $9}'`
cpu2=`echo ${cpu_float2%.*}`
port=`netstat -nap | grep 9092 | grep LISTEN | grep $SERVER_PID`
if [ $cpu1 -lt 150 ] && [ $cpu2 -lt 150 ] && [ "$port" != "" ]; then
echo "pandora-login start success "$SERVER_PID
return 0
fi
echo "pandora-login starting... "$i
let i++
done
echo "pandora-login start fail"
return 1
} do_stop()
{
SERVER_PID=`ps -ef|grep -v grep| grep "pandora-login.jar"|awk '{print $2}'`
echo "stop pandora-login_pid "$SERVER_PID
for PID in $SERVER_PID
do
kill $PID
done
while true
do
sleep 1
SERVER_PID_KILL=`ps -ef|grep -v grep| grep "pandora-login.jar"|awk '{print $2}'`
if [ "$SERVER_PID_KILL" == "" ]; then
break
fi
done
} case "$1" in
start)
do_start
;;
stop)
do_stop
;;
restart)
do_stop
sleep 1
do_start
;;
*)
esac

最新文章

  1. TfS+强制删除签出锁定项
  2. form表单那点事儿(下) 进阶篇
  3. 单源最短路径的Bellman-Ford 算法
  4. vi 命令 使用方法
  5. 直播开始:'云榨汁机'诞生记--聊聊JavaScript中的'业务建模'
  6. 【转】Android 异步消息处理机制 让你深入理解 Looper、Handler、Message三者关系
  7. demo_01 css3中的radius
  8. javascript变量提升
  9. c#字符串驻留机制
  10. 下拉菜单选择(jQuery实现)
  11. Apache与tomcat
  12. 移动端touch事件获取clientX, clientY
  13. Java核心编程快速学习
  14. win7与centos虚拟机的共享文件夹创建
  15. .9-浅析webpack源码之NodeEnvironmentPlugin模块总览
  16. Kafka、ActiveMQ、RabbitMQ、RocketMQ 区别以及高可用原理
  17. gRPC 如何使用python表示多维数组
  18. 数字进度条组件NumberProgressBar
  19. JavaScript 获得 坐标
  20. [Python] 糗事百科文本数据的抓取

热门文章

  1. CentOS-搭建MinIO集群
  2. linux cut的用法
  3. php微信jsapi支付 支付宝支付 两码合一
  4. 深度解析HashMap底层实现架构
  5. Adaptive AUTOSAR 学习笔记 7 - 应用设计和 Manifest
  6. 深度解析 Lucene 轻量级全文索引实现原理
  7. Springboot中注解@Configuration源码分析
  8. 手把手教你用java实现二分查找树及其相关操作
  9. 在线体验 Windows 11「GitHub 热点速览 v.21.30」
  10. 每天五分钟Go - 循环语句