| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- #!/bin/bash
- # 生产环境状态检查脚本
- # 用于检查记忆总结服务的运行状态
- set -e
- # 获取脚本所在目录
- SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
- cd "$SCRIPT_DIR"
- # 颜色输出
- GREEN='\033[0;32m'
- YELLOW='\033[1;33m'
- RED='\033[0;31m'
- BLUE='\033[0;34m'
- NC='\033[0m' # No Color
- PID_FILE="$SCRIPT_DIR/summarize_memory.pid"
- echo -e "${BLUE}📊 记忆总结服务状态检查${NC}"
- echo ""
- # 检查PID文件
- if [ -f "$PID_FILE" ]; then
- PID=$(cat "$PID_FILE")
- echo -e "PID文件: ${GREEN}$PID_FILE${NC}"
- echo -e "PID: ${GREEN}$PID${NC}"
-
- # 检查进程是否存在
- if ps -p "$PID" > /dev/null 2>&1; then
- echo -e "进程状态: ${GREEN}运行中${NC}"
-
- # 显示进程信息
- echo ""
- echo -e "${BLUE}进程信息:${NC}"
- ps -p "$PID" -o pid,ppid,cmd,etime,pcpu,pmem
-
- # 显示日志文件大小
- echo ""
- echo -e "${BLUE}日志文件:${NC}"
- if [ -f "logs/summarize_memory.log" ]; then
- LOG_SIZE=$(du -h "logs/summarize_memory.log" | cut -f1)
- echo -e " 正常日志: ${GREEN}logs/summarize_memory.log${NC} (${LOG_SIZE})"
- else
- echo -e " 正常日志: ${YELLOW}不存在${NC}"
- fi
-
- if [ -f "logs/summarize_memory_error.log" ]; then
- ERROR_LOG_SIZE=$(du -h "logs/summarize_memory_error.log" | cut -f1)
- ERROR_LINES=$(wc -l < "logs/summarize_memory_error.log" 2>/dev/null || echo "0")
- echo -e " 错误日志: ${GREEN}logs/summarize_memory_error.log${NC} (${ERROR_LOG_SIZE}, ${ERROR_LINES} 行)"
- else
- echo -e " 错误日志: ${GREEN}不存在(无错误)${NC}"
- fi
-
- if [ -f "summarize_memory_nohup.log" ]; then
- NOHUP_SIZE=$(du -h "summarize_memory_nohup.log" | cut -f1)
- echo -e " 后台日志: ${GREEN}summarize_memory_nohup.log${NC} (${NOHUP_SIZE})"
- fi
-
- else
- echo -e "进程状态: ${RED}未运行(PID文件存在但进程不存在)${NC}"
- echo -e "${YELLOW}提示: 可以删除 PID 文件: rm $PID_FILE${NC}"
- fi
- else
- echo -e "PID文件: ${YELLOW}不存在${NC}"
-
- # 尝试通过进程名查找
- PID=$(pgrep -f "summarize_memory.py" | head -n 1)
- if [ -n "$PID" ]; then
- echo -e "进程状态: ${GREEN}运行中(通过进程名找到,PID: $PID)${NC}"
- echo ""
- echo -e "${BLUE}进程信息:${NC}"
- ps -p "$PID" -o pid,ppid,cmd,etime,pcpu,pmem
- else
- echo -e "进程状态: ${RED}未运行${NC}"
- fi
- fi
- echo ""
|