Files
bat_manage/项目说明.md
T

78 lines
3.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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. 实现脚本执行历史记录查询与统计分析功能