Le démarrage et l'arrêt de MongoDB sont traités dans le manuel MongoDB. Il explique les différentes options pour arrêter MongoDB via le shell, le cli, les pilotes, etc.
De plus, si vous avez installé MongoDB à l'aide d'un gestionnaire de paquets pour Ubuntu ou Debian, vous pouvez arrêter mongodb (actuellement mongod dans ubuntu) comme suit:
Ou sur Mac OS X
Ou sur les systèmes basés sur Red Hat :
Ou sous Windows si vous avez installé en tant que service nommé MongoDB
:
Et s'il n'est pas installé en tant que service (à partir de Windows 7+), vous pouvez exécuter:
taskkill /f /im mongod.exe
Pour en savoir plus sur les problèmes d'un arrêt impur, comment éviter au mieux un tel scénario et que faire en cas d'arrêt impur, veuillez consulter: Récupérer des données après un arrêt inattendu .
sudo service mongodb [start|stop|restart|status]
.sudo service stop mongodb
résultats dans: arrêt: service non reconnuSi vous voulez littéralement une ligne équivalente aux commandes de votre question d'origine, vous pouvez alias:
mongo --eval "db.getSiblingDB('admin').shutdownServer()"
La réponse de Mark sur le démarrage et l'arrêt de MongoDB via les services est l'approche administrative la plus typique (et recommandée).
la source
start C:\mongodb\bin\mongod.exe --config C:\net2\primary1-pc\mongod.cfg start C:\mongodb\bin\mongod.exe --config C:\net2\secondary1-pc\mongod.cfg ...
, puis d'avoir shutdown.batC:\mongodb\bin\mongo.exe --eval "db.getSiblingDB('admin').shutdownServer()" --port 27017 C:\mongodb\bin\mongo.exe --eval "db.getSiblingDB('admin').shutdownServer()" --port 27018 C:\mongodb\bin\mongo.exe --eval "db.getSiblingDB('admin').shutdownServer()" --port 27019 ...
net stop MongoDB
ce n'était pas fiable, donc je quelque chose de similaire:mongo admin --eval "db.shutdownServer()"
. À votre santé!mongod --dbpath /path/to/your/db --shutdown
Plus d'informations sur officiel: http://docs.mongodb.org/manual/tutorial/manage-mongodb-processes/
la source
mongod v3.4.10
:Error parsing command line: unrecognised option '--shutdown'
:-(db.shutdownServer({force:1,timeoutSecs:0})
ce qui empêcherait le vidage des données restantes vers les secondaires. Vous ne voudrez peut-être pas toujours cela.Si le serveur s'exécute en tant que processus de premier plan dans un terminal, cela peut être fait en appuyant sur
Une autre façon d'arrêter proprement un serveur en cours d'exécution consiste à utiliser la commande shutdown,
Sinon, une commande comme kill peut être utilisée pour envoyer le signal. Si mongod a 10014 comme PID, la commande serait
la source
J'ai suivi la documentation officielle de MongoDB pour m'arrêter avec des signaux. L'une des commandes suivantes peut être utilisée (PID représente
Process ID
lemongod
processus):qui envoie le signal 15 (SIGTERM), ou
qui envoie le signal 2 (SIGINT).
Si vous avez plus d'une instance en cours d'exécution ou que vous ne vous souciez pas du PID, vous pouvez utiliser
pkill
pour envoyer le signal à tous lesmongod
processus en cours d'exécution :ou
ou, beaucoup plus sûr, uniquement aux processus vous appartenant:
ou
Note PS : j'ai eu recours à cette option, car
mongod --shutdown
, bien que mentionnée dans la documentation actuelle de MongoDB , curieusement ne fonctionne pas sur ma machine (macOS, mongodb v3.4.10, installé avechomebrew
):Error parsing command line: unrecognised option '--shutdown'
PPS
(spécifique à macOS) Avant que quiconque ne se demande: non, je ne pouvais pas l'arrêter avec une commande
brew services stop mongodb
car je ne l'avais pas démarré avec
brew services start mongodb
.J'avais commencé
mongod
avec une ligne de commande personnalisée :-)la source
Utilisation
mongod --shutdown
Selon le document officiel: manage-mongodb-procedures /
:RÉ
la source
Mon cas particulier est:
auparavant démarrer mongod par:
maintenant, je veux arrêter
mongod
.et référez-vous à la doc officielle Stop mongod Processes , a essayé:
(1)
shutdownServer
mais a échoué:(2)
--shutdown
échoue toujours:(3) commande de démarrage précédente ajoutant --shutdown:
(4) utiliser
service
pour arrêter:et
show attendu
Active: inactive (dead)
mais enmongod
fait toujours en cours d'exécution, car peut voir le processus de ps:et enfin , arrêtez vraiment mongod en:
jusqu'à présent, cause fondamentale: encore inconnue ...
espérons que la solution ci-dessus est utile pour votre.
la source
créer un fichier appelé mongostop.bat
enregistrez-y le code suivant
exécutez le fichier mongostop.bat et vous avez réussi à arrêter mongo
la source
Un liners pour démarrer ou arrêter le service mongodb en utilisant la ligne de commande;
NET START MONGODB
NET STOP MONGODB
Je l'utilise moi-même, cela fonctionne.
la source
D'après les commandes données, je pense que vous êtes sous Linux.
Démarrez MongoDB:
Vérifiez l'état:
Arrêtez MongoDB:
la source
S'appuyant sur la réponse de stennie:
J'ai trouvé que mongo essayait de se reconnecter à la base de données après l'arrêt du serveur, ce qui entraînerait un retard et des messages d'erreur. L'ajout de quit () après l'arrêt accélère et réduit les messages, mais il y en a toujours un.
Je souhaite également ajouter du contexte - je démarre et arrête mongod dans le cadre de cas de test pour d'autres codes, donc l'inscription en tant que service ne correspond pas au cas d'utilisation. J'espère finir avec quelque chose qui fonctionne sur toutes les plates-formes (cela a été testé dans Windows en ce moment). J'utilise mongod 3.6.9
la source
J'ai simplement fait:
quit();
Veuillez noter que j'utilise mongo 3.0.
Mongo
la source
dans la fenêtre du terminal sur votre mac, appuyez sur Ctrl + c
la source
Utilisation de l'homebrew (méthode recommandée):
Commencer:
brew services start mongodb-community
Arrêter:
brew services stop mongodb-community
la source
J'utilise ce script de démarrage sur Ubuntu.
la source
les fenêtres
Dans PowerShell, c'est:
Stop-Service MongoDB
Puis pour recommencer:
Start-Service MongoDB
Pour vérifier s'il est démarré, exécutez:
net start | findstr MongoDB
.Remarque: ci-dessus suppose que MongoDB est enregistré en tant que service .
la source
Veuillez profiter du gestionnaire de tâches fourni par votre système d'exploitation pour une solution rapide et facile. Ci-dessous se trouve la capture d'écran de / pour Windows 10. Cliquez avec le bouton droit sur le processus en surbrillance et sélectionnez Arrêter . Sélectionnez démarrer , s'il est déjà arrêté.
Remarque: en interne, les commandes font la même chose que vous devez faire manuellement à l'aide d'une interface graphique (gestionnaire de tâches), fournie par Windows / votre système d'exploitation. Cependant, cette approche doit être utilisée à des fins d'étude / pratique pour commencer et vous ne serez pas bloqué à cause de cela.
la source
CTRL + C
sur la ligne de commande Windows
la source