services
était une commande "cachée" dans Homebrew. Il y en avait un paquet qui n'étaient pas présentes dans la version brew help
sortie. Comme les commandes non documentées ont l'habitude de le faire, elle a disparu du dépôt officiel et est devenue une " commande externe " maintenu dans un autre dépôt de modules complémentaires (dans ce cas, un résumé, car c'est très simple).
Vous pouvez l'installer dans votre configuration Homebrew en exécutant :
> 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
Vous pouvez également ignorer services
et juste faire un fichier plist pour ça. Par exemple, créez ~/Library/LaunchAgents/org.mongodb.mongod.plist
avec :
<?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>
Changez juste {your_username}
à votre nom d'utilisateur actuel puis exécutez :
launchctl load ~/Library/LaunchAgents/org.mongodb.mongod.plist
pour enregistrer le plist avec launchd. Vous pouvez maintenant démarrer et arrêter MongoDB avec :
launchctl start org.mongodb.mongod
launchctl stop org.mongodb.mongod
Note, la solution plist ci-dessus a été prise à partir de cette excellente réponse de Stack Overflow .