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