今天刚发现一个很实用的 brew 技巧:通过 brew info 查找 plist 文件,开机启动 MySQL/MongoDB/PG/Redis
虽然我用了很长时间的 brew,一直不知道它帮我做了这么多事情。它写好了 plist,放到了该放的文件夹,只需要 load 一下就 ok。
使用 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
下。
运行 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
launchd 是 Mac OS 下用于初始化系统环境的关键进程,它是内核装载成功之后在 OS 环境下启动的第一个进程。采用这种方式来配置自启动项很简单,只需要一个 plist 文件,该 plist 文件存在的目录有:
LaunchDaemons
~/Library/LaunchDaemons
用户登陆前运行 plist(程序)
LaunchAgents
~/Library/LaunchAgents
用户登录后运行相应的 plist(程序)
这两种开机启动的分水岭如下图所示