# Watchdog **Repository Path**: qiao-tianyu-1/watchdog ## Basic Information - **Project Name**: Watchdog - **Description**: Watchdog 进程守护程序是一款 Windows 进程监控与守护工具,可以自动监控指定进程,在进程意外关闭时自动重启。 - **Primary Language**: C# - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2026-02-05 - **Last Updated**: 2026-03-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Watchdog 进程守护程序 一款 Windows 进程监控与守护工具,可以自动监控指定进程,在进程意外关闭时自动重启。 --- ## 📋 功能特性 - ✅ **进程监控** - 实时监控进程运行状态、内存占用 - ✅ **自动守护** - 进程意外关闭时自动重启 - ✅ **脚本支持** - 支持监控和守护 `.bat` / `.cmd` 批处理脚本 - ✅ **手动控制** - 支持手动启动、停止、重启进程 - ✅ **进程详情** - 查看 PID、内存、CPU、运行时长等信息 - ✅ **开机自启** - 支持设置程序开机自动启动 - ✅ **主题切换** - 浅色 / 深色 / 跟随系统 --- ## 🖥️ 环境要求 ### 运行环境(使用打包后的 exe) | 项目 | 要求 | |------|------| | 操作系统 | Windows 10 / 11 (64位) | | 其他 | 无需安装任何运行时 | > 打包后的 `Watchdog.exe` 是独立的单文件程序,无需安装 .NET 运行时。 ### 开发环境(编译源码) | 项目 | 要求 | |------|------| | 操作系统 | Windows 10 / 11 | | .NET SDK | 8.0 或更高版本 | | IDE(可选) | Visual Studio 2022 / VS Code | #### 检查 .NET SDK 版本 ```powershell dotnet --version ``` #### 安装 .NET SDK 如未安装,请从以下地址下载: - 官方下载:https://dotnet.microsoft.com/download/dotnet/8.0 --- ## 🚀 快速开始 ### 方式一:直接使用(推荐) 1. 双击 `发布.bat` 打包程序 2. 在 `发布输出` 文件夹中找到 `Watchdog.exe` 3. 双击运行即可 ### 方式二:源码运行 ```powershell cd Watchdog dotnet run ``` ### 方式三:Visual Studio 1. 双击 `Watchdog.sln` 打开解决方案 2. 按 `F5` 运行 --- ## 📖 使用教程 ### 1. 添加监控项 1. 点击右上角 **「+ 添加监控」** 按钮 2. 填写信息: - **名称**:自定义名称,方便识别 - **可执行文件路径**:点击「浏览」选择要监控的文件 - 支持 `.exe` 可执行程序 - 支持 `.bat` / `.cmd` 批处理脚本 - **启动参数**(可选):程序启动时的命令行参数 - **工作目录**(可选):程序运行时的工作目录 - **启用进程守护**:勾选后进程关闭会自动重启 3. 点击 **「保存」** ### 2. 操作按钮说明 | 按钮 | 功能 | |------|------| | ▶ | 启动进程 | | ■ | 停止进程 | | ↻ | 重启进程 | | ℹ | 查看进程详情 | | 🛡 | 切换守护开关 | | ✏ | 编辑监控项 | | 🗑 | 删除监控项 | ### 3. 主题切换 点击右上角「主题」下拉框,可选择: - **浅色** - 白色背景 - **深色** - 深色背景 - **跟随系统** - 自动跟随 Windows 系统主题 ### 4. 开机自启 勾选右上角 **「开机自启」** 复选框,程序将随 Windows 启动自动运行。 --- ## ⚠️ 注意事项 ### 1. 管理员权限 - 某些系统进程或服务可能需要**管理员权限**才能启动/停止 - 如遇到权限问题,请右键 `Watchdog.exe` → 「以管理员身份运行」 ### 2. 守护功能 - **守护开启**:进程未运行时会**自动启动** - **守护关闭**:进程不会自动启动,需手动控制 - 手动停止进程时,守护会暂时禁用 1 秒,避免立即重启 ### 3. 进程识别 - 程序通过**可执行文件路径**识别进程 - 如果同一程序有多个实例运行,可能只识别第一个 ### 4. 脚本文件说明 - 支持 `.bat` 和 `.cmd` 批处理脚本的监控和守护 - 脚本通过 `cmd.exe /c` 方式执行 - 程序会自动识别脚本类型,无需额外配置 - 脚本进程通过命令行参数匹配识别,确保守护功能正常工作 ### 5. 配置文件 配置文件保存在: ``` %APPDATA%\Watchdog\config.json ``` 包含所有监控项、主题设置等信息。 ### 6. 资源占用 - 程序每 **3 秒** 检测一次进程状态 - 内存占用约 **30-50 MB** - CPU 占用极低 ### 7. 杀毒软件 - 某些杀毒软件可能误报,请添加信任 - 程序不包含任何恶意代码 --- ## 📁 项目结构 ``` Watchdog/ ├── Watchdog.sln # 解决方案文件 ├── README.md # 本文档 ├── Watchdog/ │ ├── Watchdog.csproj # 项目文件 │ ├── 发布.bat # 打包脚本 │ ├── App.xaml # 应用入口 │ ├── MainWindow.xaml # 主窗口 │ ├── Models/ # 数据模型 │ ├── Services/ # 服务层 │ ├── ViewModels/ # 视图模型 │ ├── Views/ # 对话框视图 │ ├── Themes/ # 主题文件 │ └── Converters/ # 数据转换器 └── 发布输出/ # 打包输出目录 └── Watchdog.exe # 可执行文件 ``` --- ## 🔧 打包发布 ### 标准打包 双击 `Watchdog/发布.bat`,自动完成: 1. 清理旧文件 2. 还原依赖 3. 编译发布 4. 打开输出目录 ### 命令行打包 ```powershell cd Watchdog dotnet publish -c Release -r win-x64 --self-contained true -p:PublishSingleFile=true -p:DebugType=none -o "发布输出" ``` --- ## 📝 常见问题 ### Q: 程序无法启动监控的进程? A: 请检查: 1. 可执行文件路径是否正确 2. 是否需要管理员权限运行 3. 程序是否被杀毒软件拦截 ### Q: 主题切换不生效? A: 重启程序后生效。 ### Q: 如何完全卸载? A: 1. 删除程序文件 2. 删除配置目录:`%APPDATA%\Watchdog` 3. 如开启了开机自启,需在注册表中删除: `HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\Watchdog` --- ## 📄 许可证 MIT License --- ## 🤝 技术支持 如有问题或建议,欢迎反馈!