使用 brew services 管理后台服务(MacOS)

在编写项目的时候,时常需要开启一些诸如 nginxmysqlredis 等后台服务,然而每次开机都要重新手动去开启这些服务,而且有些还要保留一些终端窗口去维持服务。

这时我们可以用到 brew services 来管理这些后台服务。

查看 services 列表

brew services list

使用 brew services 管理后台服务(MacOS)

会返回一个表格,可以查看本地下载好的服务。

Name Status User Plist
服务名称 服务状态 开启的用户 后缀名为 .plist 的 XML 文件存储的位置

常用命令

下面以操作 mysql 为例

brew services run mysql # 启动mysql 服务
brew services start mysql # 启动 mysql 服务,并注册开机自启
brew services stop mysql # 停止 mysql 服务,并取消开机自启
brew services restart mysql # 重启 mysql 服务,并注册开机自启
brew services cleanup # 清除已卸载应用的无用配置

此处注册开机自启后,会自动创建 .plist 文件,取消开机自启会自动删去该文件

与 launchtl 的关系

macOS 使用 launchtl 命令加载开机自动运行的服务,那么 launchtlbrew services 是啥关系呢?

launchctl list

会返回一串自启的服务,在里面我们可以看到我们用 brew services 设置的自启服务。

使用 brew services 管理后台服务(MacOS)

由此,我们可以推测 brew serviceslaunchctl 的一个子集。