study8677 /
headlessguard
下载地址: Headless Guard 是一款原生 macOS 菜单栏工具,专门处理 Playwright、Puppeteer 等自动化任务异常退出后留下的无头浏览器。此类残留进程可能持续占用内存,也可能接走系统的浏览器打开请求,表现为“Chrome 明明在运行,却没有正常窗口”。 为什么做这个项目 项目来自一次真实故障排查:一组 Playwright daemon 和无头 Chrome 已脱离父任务、持续运行 2 天 8 小时。He…
study8677 /
下载地址: Headless Guard 是一款原生 macOS 菜单栏工具,专门处理 Playwright、Puppeteer 等自动化任务异常退出后留下的无头浏览器。此类残留进程可能持续占用内存,也可能接走系统的浏览器打开请求,表现为“Chrome 明明在运行,却没有正常窗口”。 为什么做这个项目 项目来自一次真实故障排查:一组 Playwright daemon 和无头 Chrome 已脱离父任务、持续运行 2 天 8 小时。He…
下载地址: Headless Guard 是一款原生 macOS 菜单栏工具,专门处理 Playwright、Puppeteer 等自动化任务异常退出后留下的无头浏览器。此类残留进程可能持续占用内存,也可能接走系统的浏览器打开请求,表现为“Chrome 明明在运行,却没有正常窗口”。 为什么做这个项目 项目来自一次真实故障排查:一组 Playwright daemon 和无头 Chrome 已脱离父任务、持续运行 2 天 8 小时。Headless Guard 在清理前识别到 1 个自动化会话、7 个相关进程;清理后释放约 365.3 MB,原本正在使用的普通 Chrome PID 保持不变,随后 15 秒持续复查也没有重新拉起。 它怎样避免误伤正常浏览器 不因进程名称里出现 Chrome 就结束它,而是组合判断 headless 参数、临时自动化 Profile、远程调试、启动器祖先关系、存活时间等证据。 普通浏览器 Profile 和日常 Chrome 会话受到硬保护;只处理当前用户的进程。 执行前重新扫描,只停止精确匹配的自动化进程树;先发 TERM,再校验仍存活进程的命令指纹,最后才对匹配者使用 KILL。 默认仅观察,不会自动清理;自动清理和登录启动都需要用户主动开启。 项目用 Swift / SwiftUI + AppKit 编写,不依赖 Electron,不需要管理员权限,没有遥测,也不上传进程信息。除了原生图形界面,还提供 scan、rescue、watch、doctor 等 CLI 命令,并包含针对普通 Chrome 保护、误报边界和进程复用的测试。 当前 v0.1.0 支持 macOS 13+ 和 Apple Silicon。首版采用 ad-hoc 签名、尚未经过 Apple 公证,因此首次打开可能需要在 Finder 中右键选择“打开”;这一限制已在 Release 和 README 中明确说明。
Discuss this product