game_sync/gamesrv/start_gamesrv.sh

99 lines
1.6 KiB
Bash

#!/bin/bash
#set -x
PRO=gamesrv
function USAGE(){
echo "Usage: $0 [Control]. Such as $0 start"
# echo -e "\tProcessName: [ QPHallServer | QPGateWay ]"
echo -e "\tControl: [ start | stop | force_stop | restart | force_restart ]"
exit 1
}
function START(){
rm ./scroll_all.log
nohup ./$PRO &
sleep 5
ps -ef | grep -v 'grep' | grep -v 'start' | grep ${PRO}
if [ $? == 0 ]
then
echo "${PRO} Started!"
else
echo "Start ${PRO} failed!"
exit 1
fi
}
function STOP(){
rm ./scroll_all.log
pids=$(ps aux | grep $PRO | grep -v grep | awk -F " " '{print $2}')
arr=(${pids//'
'/ })
#echo $arr
#echo ${#arr[@]}
for ((i=0;i<${#arr[@]};i++))
do
kill -s 2 ${arr[$i]} > /dev/null 2>&1
done
echo "${PRO} has been stopped!"
}
function FORCE_STOP(){
rm ./scroll_all.log
pids=$(ps aux | grep $PRO | grep -v grep | awk -F " " '{print $2}')
arr=(${pids//'
'/ })
for ((i=0;i<${#arr[@]};i++))
do
kill -9 ${arr[$i]} > /dev/null 2>&1
done
echo "${PRO} has been shutdown!"
}
function RELOAD() {
pids=$(ps aux | grep $PRO | grep -v grep | awk -F " " '{print $2}')
arr=(${pids//'
'/ })
for ((i=0;i<${#arr[@]};i++))
do
kill -1 ${arr[$i]} > /dev/null 2>&1
done
echo "${PRO} has been RELOADED!"
}
main(){
case $1 in
start)
START ;
;;
stop)
STOP ;
;;
force_stop)
FORCE_STOP ;
;;
restart)
STOP ;
START ;
;;
# reload)
# RELOAD ;
# ;;
force_restart)
FORCE_STOP ;
START ;
esac
}
if [ -z $1 ]
then
USAGE
fi
main $1