commande de service sudo introuvable lors de l'installation de mongodb

8

Je suis actuellement sous OS / X sur MacBook. Je veux arrêter l'instance du service mongodb en cours d'exécution. J'ai donc essayé:

> sudo service mongodb stop
sudo: service: command not found

Après avoir recherché sur Google, ils m'ont demandé d'ajouter PATH donc j'ai fait ce qui suit:

> `vim ~/.bash_profile` (created a new bash_profile) and added the following there:

   export PATH=/usr/bin:/usr/sbin:/bin:/usr/local/bin:/sbin:/opt/x11/bin:$PATH

Cela ne semble pas fonctionner et j'obtiens toujours la même erreur:

fscore
la source

Réponses:

9

Il n'y a pas de commande de service sur OS X. Elle est probablement gérée par launchd, ce qui signifie que vous devrez effectuer les opérations suivantes ( trouvées sur Stack Overflow ). Notez qu'il y a 2 réponses ci-dessous, l'une si vous avez installé en utilisant Home-Brew l'autre pas.

C'est probablement parce que launchctl gère votre instance mongod. Si vous souhaitez démarrer et arrêter l'instance mongod, déchargez-la d'abord:

launchctl unload -w ~/Library/LaunchAgents/org.mongodb.mongod.plist

Ensuite, lancez mongod manuellement:

mongod -f path/to/mongod.conf --fork

Vous pouvez trouver votre emplacement mongod.conf à partir de ~/Library/LaunchAgents/org.mongodb.mongod.plist.

Après cela, ça db.shutdownServer()marcherait très bien.

Ajouté le 22 févr.2014:

Si vous avez installé mongodb via homebrew, homebrew a en fait une brew servicescommande pratique . Pour afficher les services en cours d'exécution:

brew services list

Pour démarrer mongodb:

brew services start mongodb

Pour arrêter mongodb s'il est déjà en cours d'exécution:

brew services stop mongodb

webmarc
la source
La commande "brew services" n'existe pas pour moi: $ brew services Erreur: commande inconnue: services
Nicodemuz
1
Pour installer les services de brassage: $ brew tap homebrew/services Ensuite, installez une formule comme d'habitude: $ brew install mongo Vous pouvez maintenant démarrer / arrêter la formule d'un service: $ brew services start mongo $ brew services stop mongo Plus d'infos sur github.com/Homebrew/homebrew-services
Pierre De Wilde
0

Ces commandes me sauvent la journée merci d'avance.

Pour démarrer mongodb:

brew services start mongodb

Pour arrêter mongodb s'il est déjà en cours d'exécution:

brew services stop mongodb
SHOEB KHAN
la source
Salut, bienvenue sur l'Unix SE! Ce sont deux commandes différentes. L'OP veut démarrer / arrêter mongodb, mais il veut aussi savoir pourquoi les commandes "service" ne fonctionnent pas pour lui. C'est probablement la raison pour laquelle il les a lus sur certains documents Unix / Linux, et macosx est un peu différent. Donnez plus d'explications dans vos réponses, afin d'obtenir plus de votes positifs.
peterh
si les services de brassage démarrent mongodb ne fonctionnent pas, veuillez essayer cette commande: sudo services start mongodb Pour arrêter mongodb s'il est déjà en cours d'exécution: brew services stop mongodb si cette commande ne fonctionne pas, essayez celui-ci: sudo services stop
mongodb