mirror of
https://github.com/zhufuyi/sponge.git
synced 2025-10-28 11:21:43 +08:00
62 lines
1.2 KiB
Bash
62 lines
1.2 KiB
Bash
#!/bin/bash
|
|
|
|
# chkconfig: - 85 15
|
|
# description: serverNameExample
|
|
|
|
serverName="serverNameExample_mixExample"
|
|
cmdStr="cmd/${serverName}/${serverName}"
|
|
|
|
|
|
function checkResult() {
|
|
result=$1
|
|
if [ ${result} -ne 0 ]; then
|
|
exit ${result}
|
|
fi
|
|
}
|
|
|
|
stopService(){
|
|
NAME=$1
|
|
|
|
ID=`ps -ef | grep "$NAME" | grep -v "$0" | grep -v "grep" | awk '{print $2}'`
|
|
if [ -n "$ID" ]; then
|
|
for id in $ID
|
|
do
|
|
kill -9 $id
|
|
echo "Stopped ${NAME} service successfully, process ID=${ID}"
|
|
done
|
|
fi
|
|
}
|
|
|
|
startService() {
|
|
NAME=$1
|
|
|
|
if [ -f "${NAME}" ] ;then
|
|
rm "${NAME}"
|
|
fi
|
|
sleep 0.2
|
|
go build -o ${cmdStr} cmd/${NAME}/main.go
|
|
checkResult $?
|
|
|
|
nohup ${cmdStr} > ${NAME}.log 2>&1 &
|
|
sleep 1
|
|
|
|
ID=`ps -ef | grep "$NAME" | grep -v "$0" | grep -v "grep" | awk '{print $2}'`
|
|
if [ -n "$ID" ]; then
|
|
echo "Start the ${NAME} service successfully, process ID=${ID}"
|
|
else
|
|
echo "Failed to start ${NAME} service"
|
|
return 1
|
|
fi
|
|
return 0
|
|
}
|
|
|
|
|
|
stopService ${serverName}
|
|
if [ "$1"x != "stop"x ] ;then
|
|
sleep 1
|
|
startService ${serverName}
|
|
checkResult $?
|
|
else
|
|
echo "Service ${serverName} has stopped"
|
|
fi
|