# process_monitor **Repository Path**: waterwx_admin/process_monitor ## Basic Information - **Project Name**: process_monitor - **Description**: Windows监控程序在指定时间段内是否正常运行进程。如果进程没有正常运行就30秒内就重启启动 - **Primary Language**: Unknown - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-02-19 - **Last Updated**: 2026-02-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 通用进程监控程序 这是一个通用的Windows进程监控工具,可以在指定时间段内自动监控和管理多个进程。 ## 功能特点 - ✅ 支持同时监控多个进程 - ✅ 可配置的监控时间段 - ✅ 自动启动和重启异常进程 - ✅ 时间段外自动终止进程 - ✅ 详细的日志记录 - ✅ 可配置的检查间隔和重启延迟 ## 配置说明 ### 配置文件格式 (config.json) ```json { "processes": [ { "process_name": "进程名.exe", // Windows任务管理器中的进程名 "process_path": "程序完整路径", // 程序的完整执行路径 "arguments": "启动参数" // 可选的启动参数 } ], "check_interval_seconds": 30, // 进程检查间隔(秒) "start_time": "09:00", // 监控开始时间(24小时制) "end_time": "18:00", // 监控结束时间(24小时制) "restart_delay_seconds": 5, // 重启延迟时间(秒) "log_file": "process_monitor.log" // 日志文件路径 } ``` ### 配置项说明 - `processes`: 要监控的进程列表 - `process_name`: 进程在任务管理器中显示的名称 - `process_path`: 程序的完整执行路径 - `arguments`: 程序启动时的命令行参数(可选) - `check_interval_seconds`: 检查进程状态的时间间隔 - `start_time`/`end_time`: 监控的时间段(24小时制) - `restart_delay_seconds`: 进程重启前的等待时间 - `log_file`: 日志文件的保存路径 ## 使用方法 1. **编译程序** ```bash go build -o process_monitor.exe process_monitor.go ``` 2. **配置监控进程** 编辑 `config.json` 文件,添加要监控的进程信息 3. **运行程序** ```bash process_monitor.exe ``` ## 示例配置 ### 单进程监控(QQ影音) ```json { "processes": [ { "process_name": "QQPlayer.exe", "process_path": "C:\\Program Files (x86)\\Tencent\\QQPlayer\\QQPlayer.exe" } ], "check_interval_seconds": 30, "start_time": "09:30", "end_time": "21:00", "restart_delay_seconds": 5, "log_file": "qq_player_monitor.log" } ``` ### 多进程监控示例 ```json { "processes": [ { "process_name": "QQPlayer.exe", "process_path": "C:\\Program Files (x86)\\Tencent\\QQPlayer\\QQPlayer.exe" }, { "process_name": "notepad.exe", "process_path": "C:\\Windows\\System32\\notepad.exe" }, { "process_name": "chrome.exe", "process_path": "C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe", "arguments": "--new-window https://www.example.com" } ], "check_interval_seconds": 60, "start_time": "08:00", "end_time": "17:00", "restart_delay_seconds": 10, "log_file": "multi_process_monitor.log" } ``` ## 程序行为 - **在监控时间段内**: 程序会定期检查配置的进程是否运行,如果发现进程异常退出会自动重启 - **在监控时间段外**: 程序会检查并终止所有配置的进程 - **日志记录**: 所有操作都会记录到指定的日志文件中,便于问题排查 ## 注意事项 1. 程序需要管理员权限才能终止其他进程 2. 确保配置的程序路径正确且可访问 3. 时间段配置使用24小时制格式(HH:MM) 4. 建议设置合理的检查间隔,避免过于频繁的系统调用 ## 故障排除 - 检查日志文件获取详细错误信息 - 确认配置文件格式正确 - 验证程序路径是否存在 - 确保有足够的系统权限运行程序