Files
bat_manage/项目说明.md
T

3.0 KiB
Raw Blame History

batManage项目说明文档

项目概述

batManage是一个脚本管理与执行工具,主要用于对批处理脚本(.bat)和Python脚本(.py)进行统一管理、运行监控和日志记录,支持单次脚本运行模式,具备进程状态检测、重复启动防护等功能。

核心功能

  1. 脚本运行管理

    • 支持.bat和.py两种类型脚本的启动执行
    • 防止脚本重复运行(通过内存记录和系统进程检测双重校验)
    • 实时捕获脚本输出并记录日志
  2. 进程监控

    • 维护运行中脚本的进程列表
    • 实时检测进程状态,处理进程结束后的资源清理
    • 异常处理与日志记录
  3. 日志管理

    • 记录脚本启动、运行状态、结束信息
    • 捕获脚本输出内容并写入日志
    • 记录错误信息与异常情况

关键模块说明

脚本启动模块(start_single_run_script函数)

该函数是项目核心功能实现,主要流程包括:

  1. 运行状态检查

    • 检查内存中是否已有记录的运行进程
    • 检测系统中是否存在对应脚本的运行进程
  2. 脚本合法性验证

    • 检查脚本文件是否存在
    • 验证脚本类型是否支持(仅支持.bat和.py)
  3. 命令构建

    • 对.bat脚本:使用cmd /c命令执行
    • 对.py脚本:使用配置的Python路径执行(默认使用"python"
  4. 异步执行

    • 通过线程异步执行脚本,避免阻塞主程序
    • 实时读取脚本输出并记录
    • 处理脚本执行完成后的状态记录与资源清理

技术实现细节

  • 使用subprocess.Popen创建子进程执行脚本
  • 通过threading.Thread实现异步执行
  • 使用进程返回码判断脚本执行结果(0为成功,非0为失败)
  • 采用字典running_processes维护内存中的进程记录
  • 提供save_processes方法持久化进程信息(具体实现未展示)

项目结构

batManage/
├── app.py               # 核心功能实现
├── tasks/               # 脚本存放目录
│   ├── 1.bat
│   ├── 3.bat
│   └── 文件编码检测.py
├── templates/           # 前端模板目录
│   └── index.html
├── .idea/               # 项目配置目录
└── config.json          # 配置文件

使用说明

  1. 将需要管理的脚本放入tasks目录
  2. 通过调用start_single_run_script(script_name)启动脚本
  3. 系统会自动处理脚本运行过程中的监控与日志记录

注意事项

  • 确保脚本路径正确,且具有可执行权限
  • 对于Python脚本,可在配置中指定特定的Python解释器路径
  • 系统会自动处理进程异常退出的情况,并清理相关记录

扩展建议

  1. 增加定时任务功能,支持脚本周期性执行
  2. 完善前端界面,提供可视化的脚本管理与监控
  3. 增加脚本执行权限管理,限制特定脚本的运行权限
  4. 实现脚本执行历史记录查询与统计分析功能