OS Xで起動時にコマンドを実行するには、launchd
を使う必要があります。
リンゴン を使用したくない場合は、launchd
プロパティリストを作成する必要があります。これはXMLファイルなので、お気に入りのテキストエディタで作成するか、Mac OS X Dev ToolsにインストールされているProperty List Editorを使用することができます。以下のように作成します。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>some.meaningful.name</string> <!-- org.mongodb.mongodb perhaps? -->
<key>OnDemand</key>
<false/>
<key>UserName</key>
<string>anAppropriateUser</string>
<key>GroupName</key>
<string>anAppropriateGroup</string>
<key>ProgramArguments</key>
<array>
<string>/Applications/MongoDB/bin/mongod</string>
<string>--dbpath</string>
<string>/usr/local/mongo/data</string>
<string>--fork</string>
<string>--logpath</string>
<string>/usr/local/mongo/log</string>
</array>
</dict>
</plist>
これを/Library/LaunchAgents/some.meaningful.name.plist
に保存し(管理者アカウントまたはsudo
が必要です)、ターミナルを開いて実行します。
sudo launchctl load /Library/LaunchAgents/some.meaningful.name.plist
これで launchd がアイテムをロードし、起動時に MongoDB が起動するようになります。さらに、launchd
が監視して、何らかの理由で終了した場合は再起動します。アイテムを削除するには、上のコマンドの load を unload に置き換えてください。