#!/bin/bash # 结伴客后端服务状态检查脚本 # 设置颜色输出 RED='\033[0;31m' GREEN='\033[0;32m' YELLOW='\033[1;33m' BLUE='\033[0;34m' NC='\033[0m' # No Color # 检查服务状态 check_status() { echo -e "${BLUE}正在检查结伴客后端服务状态...${NC}" # 查找结伴客后端服务进程 PROCESSES=$(ps aux | grep "node src/server.js" | grep -v grep) PIDS=$(echo "$PROCESSES" | awk '{print $2}') if [ -z "$PIDS" ]; then echo -e "${RED}状态: 未运行${NC}" return 1 else echo -e "${GREEN}状态: 运行中${NC}" echo -e "${BLUE}进程信息:${NC}" echo "$PROCESSES" return 0 fi } # 显示详细信息 show_details() { echo -e "${BLUE}========== 结伴客后端服务详细信息 ==========${NC}" # 显示进程信息 echo -e "${BLUE}进程信息:${NC}" ps aux | grep "node src/server.js" | grep -v grep || echo -e "${YELLOW}未找到相关进程${NC}" # 显示端口占用情况 echo -e "${BLUE}端口占用情况:${NC}" netstat -tlnp | grep :3000 || echo -e "${YELLOW}未检测到3000端口占用${NC}" # 显示工作目录 echo -e "${BLUE}当前工作目录:${NC}" echo "$(pwd)" # 显示Node.js版本 echo -e "${BLUE}Node.js版本:${NC}" node --version || echo -e "${YELLOW}未安装Node.js${NC}" # 显示npm版本 echo -e "${BLUE}npm版本:${NC}" npm --version || echo -e "${YELLOW}未安装npm${NC}" } # 显示帮助信息 show_help() { echo "结伴客后端服务状态检查脚本" echo "" echo "使用方法:" echo " ./status.sh - 检查服务状态" echo " ./status.sh detail - 显示详细信息" echo " ./status.sh help - 显示帮助信息" } # 主逻辑 main() { echo -e "${GREEN}========== 结伴客后端服务状态检查 ==========${NC}" # 检查参数 case "$1" in "help"|"-h"|"--help") show_help ;; "detail") show_details ;; *) if check_status; then echo -e "${GREEN}结伴客后端服务正在正常运行${NC}" else echo -e "${RED}结伴客后端服务未运行${NC}" exit 1 fi ;; esac } # 执行主逻辑 main "$@"