4.4 管理后台服务:brew services
2 分钟阅读
原文链接: https://brew.sh/
不少 formula 除了提供命令行工具,还会附带后台服务,例如 PostgreSQL、MySQL、Redis、nginx。macOS 上这些服务通常通过 launchd 管理,而 brew services 正是 Homebrew 提供的友好封装。
常用子命令
| |
完整示例:PostgreSQL
| |
启动后 PostgreSQL 会在后台运行,即使关闭当前终端也不会退出。重启电脑后,由于 start 已注册 launchd 登录项,服务会自动恢复。
查询状态:
| |
输出中 postgresql@16 一行的状态应显示 started。
什么时候用 run 而不是 start
- 你只是想临时调试一个服务,不希望它一直自启;
- 你使用项目级数据库,希望在会话结束时随之停止;
- 你在 CI 或脚本里临时起服务。
与其他工具的关系
- 如果你希望“每次终端进入某项目目录才启动服务”,可配合 Brewfile 中的 restart_service;
brew services管理的服务以你的用户身份运行,不需要、也不应该用 sudo;- 想了解服务究竟注册成了什么,可查看
~/Library/LaunchAgents下 Homebrew 生成的 plist。
提示:
brew services的部分历史行为在man brew的 SERVICES 段落有完整说明;本书只覆盖最常用的生命周期操作。