72 lines
1.7 KiB
Bash
72 lines
1.7 KiB
Bash
|
|
#!/bin/bash
|
||
|
|
|
||
|
|
# 结伴客后端服务停止脚本
|
||
|
|
|
||
|
|
# 设置颜色输出
|
||
|
|
RED='\033[0;31m'
|
||
|
|
GREEN='\033[0;32m'
|
||
|
|
YELLOW='\033[1;33m'
|
||
|
|
NC='\033[0m' # No Color
|
||
|
|
|
||
|
|
# 停止服务
|
||
|
|
stop_server() {
|
||
|
|
echo -e "${GREEN}正在停止结伴客后端服务...${NC}"
|
||
|
|
|
||
|
|
# 查找并停止结伴客后端服务进程
|
||
|
|
PIDS=$(ps aux | grep "node src/server.js" | grep -v grep | awk '{print $2}')
|
||
|
|
|
||
|
|
if [ -z "$PIDS" ]; then
|
||
|
|
echo -e "${YELLOW}未找到正在运行的结伴客后端服务进程${NC}"
|
||
|
|
return 0
|
||
|
|
fi
|
||
|
|
|
||
|
|
echo -e "${GREEN}找到以下结伴客后端服务进程: $PIDS${NC}"
|
||
|
|
|
||
|
|
for PID in $PIDS; do
|
||
|
|
echo -e "${GREEN}正在停止进程 $PID...${NC}"
|
||
|
|
kill $PID
|
||
|
|
|
||
|
|
# 等待进程结束
|
||
|
|
COUNT=0
|
||
|
|
while kill -0 $PID 2>/dev/null; do
|
||
|
|
sleep 1
|
||
|
|
COUNT=$((COUNT + 1))
|
||
|
|
if [ $COUNT -gt 10 ]; then
|
||
|
|
echo -e "${YELLOW}进程 $PID 未能正常停止,正在强制终止...${NC}"
|
||
|
|
kill -9 $PID
|
||
|
|
break
|
||
|
|
fi
|
||
|
|
done
|
||
|
|
|
||
|
|
echo -e "${GREEN}进程 $PID 已停止${NC}"
|
||
|
|
done
|
||
|
|
|
||
|
|
echo -e "${GREEN}结伴客后端服务已停止${NC}"
|
||
|
|
}
|
||
|
|
|
||
|
|
# 显示帮助信息
|
||
|
|
show_help() {
|
||
|
|
echo "结伴客后端服务停止脚本"
|
||
|
|
echo ""
|
||
|
|
echo "使用方法:"
|
||
|
|
echo " ./stop.sh - 停止所有结伴客后端服务进程"
|
||
|
|
echo " ./stop.sh help - 显示帮助信息"
|
||
|
|
}
|
||
|
|
|
||
|
|
# 主逻辑
|
||
|
|
main() {
|
||
|
|
echo -e "${GREEN}========== 结伴客后端服务停止脚本 ==========${NC}"
|
||
|
|
|
||
|
|
# 检查参数
|
||
|
|
case "$1" in
|
||
|
|
"help"|"-h"|"--help")
|
||
|
|
show_help
|
||
|
|
;;
|
||
|
|
*)
|
||
|
|
stop_server
|
||
|
|
;;
|
||
|
|
esac
|
||
|
|
}
|
||
|
|
|
||
|
|
# 执行主逻辑
|
||
|
|
main "$@"
|