services
era un comando "oculto" en Homebrew. Había un montón de ellos que no estaban presentes en labrew help
salida. Como se suele hacer con los comandos no documentados, se ha ido en el repositorio oficial y se ha convertido en un " comando externo " mantenido en otro repositorio de complementos (en este caso, una idea esencial ya que es tan simple).
Puede instalarlo en su configuración 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 la lista 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 plist anterior se tomó de esta excelente respuesta de desbordamiento de pila .