Je peux tuer mongod pour arrêter mongo?

je suis très nouveau à Mongo. J'exécute mongod comme décrit ici dans Mac OS X . J'exécute deux processus mongod à partir de la ligne de commande. Si je dois arrêter les processus mongod , j'exécute simplement kill <pid of mongod> . Est-ce la façon recommandée d'arrêter mongod ?

21
demandé sur Michael 2014-01-29 16:25:55

8 réponses

c'est assez tard, mais j'ai eu le même problème maintenant, et j'ai trouvé un moyen facile:

Esan-iMac:~$mongo admin --eval "db.shutdownServer()"

MongoDB shell version: 2.6.4
connecting to: admin
2015-02-19T10:54:22.574+0200 DBClientCursor::init call() failed
server should be down...

ça donne des messages bizarres, mais ça marche.

et j'ai fait alias - commande pour l'exécuter facilement.

alias stop-mongo='/opt/mongo/release/bin/mongo admin --eval "db.shutdownServer()"'

cela fonctionne au moins si vous démarrez votre mongo manuellement (par exemple avec l'option --fork).

31
répondu Esa 2015-02-19 09:07:31

il a finalement réussi (Ubuntu 15.04) avec

/ / 1.trouver le processus par son nom:

$ pgrep mongo

1350

/ / 2.tuer mongod-processus

$ kill 1350
23
répondu Mailis Toompuu 2016-01-31 19:40:18

la réponse acceptée par L'Esa est correcte. En outre, pour ce qui est de savoir si l'utilisation de kill est recommandée - Oui, mais avec le drapeau -2 ou sans drapeau, n'utilisez jamais -9 . Comme indiqué dans docs .

kill -2 `pgrep mongo`

Alias

alias stopmongo='kill -2 `pgrep mongo`'
11
répondu saurabheights 2016-09-25 23:36:26

Windows

use admin
db.shutdownServer()

pour les systèmes avec autorisation, les utilisateurs ne peuvent émettre que des db.shutdownServer () lors de l'authentification à la base de données administrateur ou via l'interface localhost sur les systèmes sans authentification activée.

Linux

mongod --shutdown

vous pouvez également utiliser

kill <mongod process ID> 

voir http://docs.mongodb.org/manual/tutorial/manage-mongodb-processes /

4
répondu jcrada 2014-01-29 12:29:35

la façon la plus facile est Ctrl + C , qui a fonctionné pour moi sur une coquille de blocage de bash sous El Capitan.

2
répondu Marshall Farrier 2016-02-17 01:07:32

Juste rencontré un problème avec "juste tuer le mongod" dans mac...

  1. La mongod est gardé comme un service par "launchctl" sur les systèmes mac. "juste tuer" ça tuera ce service.

  2. maintenant pour utiliser Mongo shell nous faisons mongod à nouveau, mais pour d'autres fins de développement comme la connexion à partir de noeud, nous devons nous assurer d'exécuter mongod encore et encore.

  3. une autre solution consiste à arrêter le système et à le redémarrer.

Meilleure Façon :

commence à utiliser launchctl pour gérer de tels services. Voici un exemple :

Quelle est la bonne façon de démarrer un service mongod sur linux / OS X?

1
répondu daksh_019 2017-05-23 12:10:11

si vous avez configuré autostart, tuer le processus ne vous aidera pas, le nouveau démarre immédiatement. Pour désactiver autostart, vous devez d'abord localiser le fichier autostart. Vous pouvez essayer de trouver le fichier en utilisant par exemple

find / -name "mongodb.plist" ou locate "mongodb.plist"

après que le fichier est trouvé, supprimez la config autostart en utilisant (vous pouvez essayer sans sudo d'abord, ce n'est pas nécessaire si vous avez fait l'installation en utilisant Homebrew):

sudo launchctl unload -w <file>

si vous voulez tuer le processus de toute façon et qu'il n'utilise pas Autostar, rappelez-vous de ne pas utiliser kill -9 <PID> , il peut endommager le db. kill -1 <PID> ou kill -15 <PID> devraient être des options sûres.

1
répondu JohnP 2016-10-27 12:58:39

terminal $ kill $(pgrep mongod)

1
répondu seunggabi 2018-08-30 07:13:53