3.0 KiB
3.0 KiB
batManage项目说明文档
项目概述
batManage是一个脚本管理与执行工具,主要用于对批处理脚本(.bat)和Python脚本(.py)进行统一管理、运行监控和日志记录,支持单次脚本运行模式,具备进程状态检测、重复启动防护等功能。
核心功能
-
脚本运行管理
- 支持.bat和.py两种类型脚本的启动执行
- 防止脚本重复运行(通过内存记录和系统进程检测双重校验)
- 实时捕获脚本输出并记录日志
-
进程监控
- 维护运行中脚本的进程列表
- 实时检测进程状态,处理进程结束后的资源清理
- 异常处理与日志记录
-
日志管理
- 记录脚本启动、运行状态、结束信息
- 捕获脚本输出内容并写入日志
- 记录错误信息与异常情况
关键模块说明
脚本启动模块(start_single_run_script函数)
该函数是项目核心功能实现,主要流程包括:
-
运行状态检查
- 检查内存中是否已有记录的运行进程
- 检测系统中是否存在对应脚本的运行进程
-
脚本合法性验证
- 检查脚本文件是否存在
- 验证脚本类型是否支持(仅支持.bat和.py)
-
命令构建
- 对.bat脚本:使用
cmd /c命令执行 - 对.py脚本:使用配置的Python路径执行(默认使用"python")
- 对.bat脚本:使用
-
异步执行
- 通过线程异步执行脚本,避免阻塞主程序
- 实时读取脚本输出并记录
- 处理脚本执行完成后的状态记录与资源清理
技术实现细节
- 使用
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 # 配置文件
使用说明
- 将需要管理的脚本放入tasks目录
- 通过调用
start_single_run_script(script_name)启动脚本 - 系统会自动处理脚本运行过程中的监控与日志记录
注意事项
- 确保脚本路径正确,且具有可执行权限
- 对于Python脚本,可在配置中指定特定的Python解释器路径
- 系统会自动处理进程异常退出的情况,并清理相关记录
扩展建议
- 增加定时任务功能,支持脚本周期性执行
- 完善前端界面,提供可视化的脚本管理与监控
- 增加脚本执行权限管理,限制特定脚本的运行权限
- 实现脚本执行历史记录查询与统计分析功能