74 lines
1.3 KiB
Bash
74 lines
1.3 KiB
Bash
#!/bin/bash -e
|
|
|
|
if [[ $# != 3 ]]; then
|
|
echo "Usage: app.sh \${command} \${server} \${id}"
|
|
echo " command: start/stop/restart"
|
|
echo " server: the name of the server"
|
|
echo " id: the number greater than zero of the server id"
|
|
exit 0
|
|
fi
|
|
|
|
CMD=$1
|
|
SVR=$2
|
|
SID=$3
|
|
|
|
cd ${SVR}_${SID}
|
|
|
|
start_server() {
|
|
pid=`ps -ef | grep ecs_${SVR} | grep ${SVR}_${SID}.json | awk '{print $2}'`
|
|
|
|
if [ ! -z ${pid} ]; then
|
|
echo "The server '${SVR}' with id:${SID} is running."
|
|
exit 0
|
|
fi
|
|
|
|
if [ ! -x ./bin/ecs_${SVR} ]; then
|
|
chmod +x ./bin/ecs_${SVR}
|
|
fi
|
|
|
|
nohup ./bin/ecs_${SVR} -conf ./conf/${SVR}_${SID}.json > ./ecs_${SVR}_${SID}.out 2>&1 &
|
|
|
|
sleep 2
|
|
|
|
pid=`ps -ef | grep ecs_${SVR} | grep ${SVR}_${SID}.json | awk '{print $2}'`
|
|
|
|
if [ -z ${pid} ]; then
|
|
echo "The server '${SVR}' with id:${SID} start failed."
|
|
tail -n30 ./bin/ecs_${SVR}_${SID}.out
|
|
exit 1
|
|
fi
|
|
|
|
echo "The server '${SVR}' with id:${SID} was started, pid: ${pid}"
|
|
}
|
|
|
|
stop_server() {
|
|
pid=`ps -ef | grep ecs_${SVR} | grep ${SVR}_${SID}.json | awk '{print $2}'`
|
|
|
|
if [ ! -z ${pid} ]; then
|
|
kill ${pid}
|
|
|
|
sleep 1
|
|
|
|
echo "The server '${SVR}' with id:${SID} was stopped, pid: ${pid}"
|
|
fi
|
|
}
|
|
|
|
case ${CMD} in
|
|
start)
|
|
start_server
|
|
exit 0
|
|
;;
|
|
stop)
|
|
stop_server
|
|
exit 0
|
|
;;
|
|
restart)
|
|
stop_server
|
|
start_server
|
|
exit 0
|
|
;;
|
|
*)
|
|
echo "Unknown command: ${CMD}"
|
|
exit 1
|
|
;;
|
|
esac |