Mac 下用于初始化系统环境的关键经常是 launchd,它是内核转载成功后启动的第一个进程。
所以设置服务的开机启动要用到这个进程。采用 launchd 开机启动 需要配置一个plist文件。
开机启动分为两种:
1、在用户登陆前启动;( plist文件放置在目录:~/Library/LaunchDaemons )
2、在用户登陆后启动。( plist文件放置在目录:~/Library/LaunchAgents )
如 MongoDB 的开机启动,需要在 LaunchDaemons 或 LaunchAgents 创建一个 plist文件。
如 org.mongodb.mongod.plist 内容如下所示:
<plist version="1.0">
<dict>
<key>Label</key>
<string>org.mongodb.mongod</string>
<key>ProgramArguments</key>
<array>
<string>/Applications/mongodb/bin/mongod</string>
<string>-f</string>
<string>/Applications/mongodb/conf/mongod.conf</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>KeepAlive</key>
<false/>
<key>WorkingDirectory</key>
<string>/Applications/mongodb</string>
<key>StandardErrorPath</key>
<string>/Applications/mongodb/log/output.log</string>
<key>StandardOutPath</key>
<string>/Applications/mongodb/log/output.log</string>
<key>HardResourceLimits</key>
<dict>
<key>NumberOfFiles</key>
<integer>1024</integer>
</dict>
<key>SoftResourceLimits</key>
<dict>
<key>NumberOfFiles</key>
<integer>1024</integer>
</dict>
</dict>
</plist>
plist 文件创建好后 执行如下命令加载到 开机启动中:
sudo launchctl load /Library/LaunchDaemons/org.mongodb.mongod.plist
命令执行后 mongodb 将会马上启动,下次也会随开机而启动。