Files
jiebanke/backend/status.sh

90 lines
2.3 KiB
Bash
Raw Normal View History

#!/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 "$@"