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 将會馬上啟動,下次也會随開機而啟動。
參考文獻: https://developer.apple.com/library/mac/documentation/MacOSX/Conceptual/BPSystemStartup/Chapters/CreatingLaunchdJobs.html