Files
chuanqi-server/server/build/stop.sh
2024-12-15 14:54:42 +08:00

40 lines
1.1 KiB
Bash
Executable File

#!/bin/bash
cd $(cd "$(dirname "$0")" && pwd)
echo "======================【停止】========================"
path=`pwd`
datetime=`date "+%Y-%m-%d.%H:%M:%S"`
curdoc=$(pwd|awk -F \/ '{print $NF}')
daemon_pid=`ps aux |grep $path|grep daemon.sh|grep -v grep|awk '{print $2}'`
if [[ -n $daemon_pid ]]; then
echo "结束守护进程:$path daemon.sh"
kill -15 $daemon_pid
fi
#关闭基础服务
arr_srv="amserver backstageserver loggerserver nameserver robootgate sessionserver gateserver"
for srv in ${arr_srv[@]};
do
pid=`ps aux |grep $path|grep $srv|grep -v grep|grep "\<$curdoc\>"|grep -v "/bin/bash"|awk '{print $2}'`
if [[ -n $pid ]]; then
echo "开始结束服务器: $srv (pid=$pid)"
kill -15 $pid
while true; do
datetime=`date "+%Y-%m-%d.%H:%M:%S"`
proc=`ps aux |grep $path|grep $srv|grep -v grep|grep "\<$curdoc\>"|grep -v "/bin/bash"|wc -l`
if [ $proc == 0 ];
then
break
fi
echo $datetime" 游戏服务 "$path" "$srv" 结束中..."
sleep 1
done
echo "已结束服务器: $srv"
fi
done
exit 0