几个月前在 V2EX 分享过 LaunchManager ,感谢当时大家的反馈。现在项目到了 v1.8.0 ,想带着目前的版本再来交流一下。
旧帖: https://v2ex.com/t/1217043
LaunchManager 是一个 Swift / SwiftUI 编写的原生工具,用来管理 LaunchAgents 、LaunchDaemons 和后台自动化任务,免费,MIT 协议开源,支持 macOS 14+。
最近一个很实用的场景是:让 AI 帮忙写定时脚本和 plist ,写完后还需要检查它到底配置了什么、什么时候触发、有没有正常运行。LaunchManager 可以把这部分放到一个窗口里处理:
- 导入 .plist ,或直接粘贴 AI 生成的 XML ,再用表单或 XML 检查、修改配置。
- 在一个任务里编辑日历、时间间隔和 WatchPaths 等触发条件;多个规则分别生效。
- 查看任务状态,加载、启动、停止任务;失败时查看 stdout/stderr 文件日志或系统日志。
- 在 Services 页面查看本机 TCP 监听端口及 Docker 映射端口,排查开发服务的端口冲突,也可以从正在运行的本地服务创建 Launch Agent 。
举个例子:让一个脚本每天定时备份,或者在某个目录变化时执行处理。AI 生成初稿后,导入检查命令、工作目录和触发条件,再查看运行结果。任务由 launchd 执行,退出 LaunchManager 后仍可继续运行。
补充一下之前容易混淆的地方:launchd 任务和 macOS 的 Login Items 不是完全相同的东西。应用里的 Login Items 入口提供说明和系统设置跳转,不能直接开关系统里的所有登录项。
官网、下载与截图: https://www.launchmanager.dev/
源码与问题反馈: https://github.com/Sean10000/LaunchManager
Homebrew 安装:
brew tap Sean10000/tap
brew install --cask launchmanager
如果你也有脚本定时运行、后台服务管理或端口排查的需求,欢迎试用。更想听听大家实际遇到的任务配置和日志排查问题,反馈可以留在这里,也可以直接提 GitHub Issue 。