分享 一个 brew 小技巧: brew info 查看 plist 文件

xiaoronglv · 2014年08月16日 · 最后由 chenliang520 回复于 2017年03月13日 · 7034 次阅读

今天刚发现一个很实用的 brew 技巧:通过 brew info 查找 plist 文件,开机启动 MySQL/MongoDB/PG/Redis

虽然我用了很长时间的 brew,一直不知道它帮我做了这么多事情。它写好了 plist,放到了该放的文件夹,只需要 load 一下就 ok。

  1. 使用 brew info redis 查看 redis 这个包的信息

    > brew info redis redis: stable 2.8.13 (bottled), HEAD http://redis.io/ /usr/local/Cellar/redis/2.4.10 (9 files, 416K) /usr/local/Cellar/redis/2.8.3 (10 files, 1.2M) * Poured from bottle From: https://github.com/Homebrew/homebrew/blob/master/Library/Formula/redis.rb ==> Caveats To reload redis after an upgrade: launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.redis.plist launchctl load ~/Library/LaunchAgents/homebrew.mxcl.redis.plist

    Surprise,brew 已经把 plist 文件放到~/Library/LaunchAgents 下。

  2. 运行 load ~/Library/LaunchAgents/homebrew.mxcl.redis.plist

    下次开机后,Mac 会自动启动 Redis。

同理,通过以下命令找到 MongoDB、PostgreSQL、MySQL 的 plist 文件。load 相应的 plist,下次开机自动启动。再也不用一次次的手工启动了,每天节省 1 分钟。

brew info mongodb

brew info postgresql

brew info mysql

Mac OS 的开机启动方式

launchd 是 Mac OS 下用于初始化系统环境的关键进程,它是内核装载成功之后在 OS 环境下启动的第一个进程。采用这种方式来配置自启动项很简单,只需要一个 plist 文件,该 plist 文件存在的目录有:

  1. LaunchDaemons

    ~/Library/LaunchDaemons

    用户登陆前运行 plist(程序)

  2. LaunchAgents

    ~/Library/LaunchAgents

    用户登录后运行相应的 plist(程序)

LaunchDaemons Vs LaunchAgents 的区别

这两种开机启动的分水岭如下图所示

Login

Reference

  1. Homebrew, Mac OS X 最强大的包管理工具
  2. Mac OS 的开机启动配置

手动启动用 launchrocket 更好

其实 brew services 更简单方便

#4 楼 @chunlea

Warning: brew services is unsupported and will be removed soon.
You should use launchctl instead.

#5 楼 @teddy_1004 好吧……那我重新推荐 launchrocket 。

#1 楼 @luikore

我也装了,真赞。

brew service start mysql 是不是自动生成 plist 文件,开机启动 跟 load 有什么区别

需要 登录 后方可回复, 如果你还没有账号请 注册新账号