services
was un comando "oculto" en Homebrew. Hubo un montón de ellos que no estaban presentes en la salida brew help
. Ha desaparecido en el repositorio oficial y, como los comandos indocumentados no suelen hacer, se ha convertido en un " comando externo "se mantuvo en otro repositorio de complementos (en este caso, una idea general ya que es tan simple).
Puede instalarlo en la 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
Alternativamente, puede omitir services
y simplemente 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>
Simplemente cambie {your_username}
a su nombre de usuario real y luego ejecute:
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
Tenga en cuenta que la solución anterior se tomó de esta excelente respuesta de desbordamiento de pila .