services
fue un comando "oculto" en Homebrew. Había un montón de ellos que no estaban presentes en el brew help
salida. Como suelen hacer los comandos no documentados, ha desaparecido en el repositorio oficial y se ha convertido en un " comando externo " mantenido en otro repositorio de complementos (en este caso un gist, ya que es muy sencillo).
Puedes instalarlo en tu configuración de Homebrew ejecutando:
> curl -o /usr/local/bin/brew-services.rb https://gist.githubusercontent.com/lwe/766293/raw/75a7907004bbff0eb3b072d1d951be2cfe7e5020/brew-services.rb
> chmod +x /usr/local/bin/brew-services.rb
> brew services help
usage: [sudo] brew services [--help] <command> [<formula>]
Small wrapper around `launchctl` for supported formulas, commands available:
cleanup Get rid of stale services and unused plists
list List all services managed by `brew services`
restart Gracefully restart selected service
start Start selected service
stop Stop selected service
Options, sudo and paths:
sudo When run as root, operates on /Library/LaunchDaemons (run at boot!)
Run at boot: /Library/LaunchDaemons
Run at login: /Users/ian/Library/LaunchAgents
También puede omitir services
y hacer un archivo plist para ello. Por ejemplo, cree ~/Library/LaunchAgents/org.mongodb.mongod.plist
con:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>org.mongodb.mongod</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/Cellar/mongodb/2.6.4/bin/mongod</string>
<string>run</string>
<string>--config</string>
<string>/usr/local/Cellar/mongodb/2.6.4/mongod.conf</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>KeepAlive</key>
<false/>
<key>UserName</key>
<string>{your_username}</string>
<key>WorkingDirectory</key>
<string>/usr/local</string>
<key>StandardErrorPath</key>
<string>/usr/local/var/log/mongodb/output.log</string>
<key>StandardOutPath</key>
<string>/usr/local/var/log/mongodb/output.log</string>
</dict>
</plist>
Sólo cambia {your_username}
a su nombre de usuario real y luego ejecutar:
launchctl load ~/Library/LaunchAgents/org.mongodb.mongod.plist
para registrar el plist con launchd. Ahora puede iniciar y detener MongoDB con:
launchctl start org.mongodb.mongod
launchctl stop org.mongodb.mongod
Nota, la solución plist anterior fue tomada de esta excelente respuesta de Stack Overflow .