init
This commit is contained in:
71
daemon.sh
Normal file
71
daemon.sh
Normal file
@@ -0,0 +1,71 @@
|
||||
#!/bin/bash
|
||||
if [ -n "$1" ]; then
|
||||
dm=$1
|
||||
else
|
||||
dm='_r'
|
||||
fi
|
||||
|
||||
if [ -n "$2" ]; then
|
||||
path=$2
|
||||
else
|
||||
path=`pwd`
|
||||
fi
|
||||
|
||||
curdoc=$(pwd|awk -F \/ '{print $NF}')
|
||||
|
||||
while true; do
|
||||
sleep 8
|
||||
|
||||
datetime=`date "+%Y-%m-%d.%H:%M:%S"`
|
||||
|
||||
ret=`ps x |grep $path/DBServer/dbserver$dm|grep -v grep|grep -v "/bin/bash"|wc -l`
|
||||
if [ $ret == 0 ]; then
|
||||
$path/DBServer/dbserver$dm $path/DBServer/DBServerLinux.txt > /dev/null &
|
||||
echo "[$datetime] $path/DBServer/dbserver$dm $path/DBServer/DBServerLinux.txt"
|
||||
fi
|
||||
|
||||
ret=`ps x |grep $path/Gateway/gateway$dm|grep -v grep|grep -v "/bin/bash"|wc -l`
|
||||
if [ $ret == 0 ]; then
|
||||
$path/Gateway/gateway$dm $path/Gateway/GateWay.txt > /dev/null &
|
||||
echo "[$datetime] $path/Gateway/gateway$dm $path/Gateway/GateWay.txt"
|
||||
fi
|
||||
|
||||
# check LogicServer
|
||||
|
||||
ret=`ps x |grep $path/LogicServer/logicserver$dm|grep -v grep|grep -v "/bin/bash"|wc -l`
|
||||
if [ $ret == 0 ]; then
|
||||
$path/LogicServer/logicserver$dm $path/LogicServer/LogicServerLinux.txt > /dev/null &
|
||||
echo "[$datetime] $path/LogicServer/logicserver$dm $path/LogicServer/LogicServerLinux.txt"
|
||||
else
|
||||
pid=`top -bn 1 -i -c |awk '{ if (NR > 6) print }' |awk '{ if ($9 > 99) print $1}' |head -n1`
|
||||
if [[ -n $pid ]]; then
|
||||
echo "[$datetime] 开始结束服务器: $curdoc LogicServer (pid=$pid)"
|
||||
kill -15 $pid
|
||||
NUM=2
|
||||
while true; do
|
||||
datetime=`date "+%Y-%m-%d.%H:%M:%S"`
|
||||
proc=`ps aux |grep $path|grep logicserver|grep -v grep|grep "\<$curdoc\>"|grep -v "/bin/bash"|wc -l`
|
||||
if [ $proc == 0 ]; then
|
||||
break
|
||||
fi
|
||||
if [ $NUM -lt 0 ]; then
|
||||
echo "[$datetime] 游戏服务 $curdoc LogicServer 强制结束"
|
||||
kill -9 $pid
|
||||
$path/LogicServer/logicserver$dm $path/LogicServer/LogicServerLinux.txt > /dev/null &
|
||||
echo "[$datetime] 游戏服务 $curdoc LogicServer 启动完毕"
|
||||
echo "--------------------------------------------------"
|
||||
break
|
||||
fi
|
||||
echo "[$datetime] 游戏服务 $curdoc LogicServer 结束中..."
|
||||
sleep 1
|
||||
let NUM--
|
||||
done
|
||||
fi
|
||||
fi
|
||||
|
||||
#ret=`ps x |grep $path/LogicServer/robot$dm|grep -v grep|grep -v "/bin/bash"|wc -l`
|
||||
#if [ $ret == 0 ]; then
|
||||
#$path/LogicServer && ./robot$dm
|
||||
#echo "[$datetime] $path/LogicServer/robot$dm"
|
||||
#fi
|
||||
done
|
||||
Reference in New Issue
Block a user