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
?
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).
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
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`'
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 /
la façon la plus facile est Ctrl + C
, qui a fonctionné pour moi sur une coquille de blocage de bash sous El Capitan.
Juste rencontré un problème avec "juste tuer le mongod" dans mac...
-
La mongod est gardé comme un service par "launchctl" sur les systèmes mac. "juste tuer" ça tuera ce service.
-
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.
-
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?
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.