Para ejecutar un comando al iniciar OS X, debe usarlo launchd
.
Si no desea utilizar Lingon , debe crear una launchd
Lista de propiedades. Este es un archivo XML, por lo que puede hacerlo con su editor de texto favorito o, alternativamente, puede usar el Editor de lista de propiedades que está instalado con las herramientas de desarrollo de Mac OS X. Crea lo siguiente:
<?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>
Guarde esto en /Library/LaunchAgents/some.meaningful.name.plist
(necesitará una cuenta de administrador y / o sudo
), luego abra una terminal y haga:
sudo launchctl load /Library/LaunchAgents/some.meaningful.name.plist
Esto hará que launchd cargue el elemento, lo que hará que se inicie MongoDB en el arranque. Como launchd
beneficio adicional, lo supervisará y, si sale por algún motivo, se reiniciará. Para deshacerse del elemento, simplemente reemplace load en el comando anterior con unload.
/etc
, ¿debería ejecutarse en el arranque? ¿Importa en cuál está?