Per eseguire un comando all'avvio su OS X, dovete usare launchd
.
Se non vuoi usare Lingon , devi creare un elenco di proprietà launchd
. Questo è un file XML, quindi puoi farlo con il tuo editor di testo preferito o in alternativa puoi usare il Property List Editor che è installato con i Dev Tools di Mac OS X. Crea quanto segue:
<?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>
Salva questo in /Library/LaunchAgents/some.meaningful.name.plist
(avrai bisogno di un account di amministratore e/o sudo
), poi apri un terminale e fai:
sudo launchctl load /Library/LaunchAgents/some.meaningful.name.plist
Questo farà sì che launchd carichi l'elemento che farà partire MongoDB all'avvio. Come bonus, launchd
lo monitorerà e, se esce per qualsiasi motivo, verrà riavviato. Per sbarazzarsi dell'elemento basta sostituire load nel comando precedente con unload.