Iniciar y detener MongoDB está cubierto en el manual de MongoDB. Explica las diversas opciones de detener MongoDB a través del shell, cli, controladores, etc. También detalla los riesgos de detener incorrectamente MongoDB (como la corrupción de datos) y habla sobre las diferentes señales de muerte.
Además, si ha instalado MongoDB usando un administrador de paquetes para Ubuntu o Debian , puede detener mongodb (actualmente mongod en ubuntu) de la siguiente manera:
O en Mac OS X
O en sistemas basados en Red Hat :
O en Windows si ha instalado como un servicio llamado MongoDB:
Y si no está instalado como un servicio (a partir de Windows 7+) puede ejecutar:
taskkill /f /im mongod.exe
Para obtener más información acerca de los problemas de un cierre no limpio, cómo evitarlo y qué hacer en caso de un cierre no limpio, consulte: Recuperar datos después de un cierre inesperado .
sudo service mongodb [start|stop|restart|status].sudo service stop mongodbresultados en: detener: servicio no reconocidoSi literalmente quiere una línea equivalente a los comandos en su pregunta original, puede usar un alias:
mongo --eval "db.getSiblingDB('admin').shutdownServer()"La respuesta de Mark al iniciar y detener MongoDB a través de los servicios es el enfoque administrativo más típico (y recomendado).
fuente
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 ...y luego tener 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 MongoDBno era fiable, por lo que utiliza algo similar:mongo admin --eval "db.shutdownServer()". ¡Salud!mongod --dbpath /path/to/your/db --shutdownMás información en oficial: http://docs.mongodb.org/manual/tutorial/manage-mongodb-processes/
fuente
mongod v3.4.10:Error parsing command line: unrecognised option '--shutdown':-(db.shutdownServer({force:1,timeoutSecs:0})lo que inhibiría el vaciado de los datos restantes a las secundarias. Es posible que no siempre quieras eso.Si el servidor se ejecuta como el proceso de primer plano en una terminal, esto se puede hacer presionando
Otra forma de cerrar limpiamente un servidor en ejecución es usar el comando shutdown,
De lo contrario, se puede usar un comando como kill para enviar la señal. Si mongod tiene 10014 como su PID, el comando sería
fuente
Seguí la documentación oficial de MongoDB para detenerme con las señales. Se puede usar uno de los siguientes comandos (PID representa el
Process IDdelmongodproceso):que envía la señal 15 (SIGTERM), o
que envía la señal 2 (SIGINT).
Si tiene más de una instancia ejecutándose o no le importa el PID, puede usar
pkillpara enviar la señal a todos losmongodprocesos en ejecución :o
o, mucho más seguro, solo a los procesos que le pertenecen:
o
Nota de PS : recurrí a esta opción porque
mongod --shutdown, aunque se menciona en la documentación actual de MongoDB , curiosamente no funciona en mi máquina (macOS, mongodb v3.4.10, instalado conhomebrew):Error parsing command line: unrecognised option '--shutdown'PPS
(específico de macOS) Antes de que alguien se pregunte: no, no pude detenerlo con el comando
brew services stop mongodbporque no lo comencé con
brew services start mongodb.Había comenzado
mongodcon una línea de comando personalizada :-)fuente
Utilizar
mongod --shutdownSegún el documento oficial: manage-mongodb-projects /
:RE
fuente
Mi caso especial es:
previamente iniciar mongod por:
ahora, quiero parar
mongod.y consulte el documento oficial Stop mongod Processes , ha intentado:
(1)
shutdownServerpero falló:(2)
--shutdownaún falló:(3) comando de inicio anterior agregando --shutdown:
(4) usar
servicepara detener:y
mostrar esperado
Active: inactive (dead)pero enmongodrealidad todavía en ejecución, ya que puede ver el proceso desde ps:y finalmente , realmente pare a mongod por:
hasta ahora, causa raíz: aún desconocida ...
Espero que la solución anterior sea útil para usted.
fuente
crear un archivo llamado mongostop.bat
guardar el siguiente código en él
ejecuta el archivo mongostop.bat y con éxito has detenido a mongo
fuente
Uno delinea para iniciar o detener el servicio mongodb usando la línea de comando;
NET START MONGODBNET STOP MONGODBLo uso yo mismo, funciona.
fuente
De los comandos dados, creo que estás en Linux.
Inicie MongoDB:
Verifique el estado:
Detener MongoDB:
fuente
Sobre la base de la respuesta de stennie:
Descubrí que Mongo intentaba volver a conectarse a la base de datos después de que se cerró el servidor, lo que provocaría un retraso y mensajes de error. Agregar quit () después del apagado lo acelera y reduce los mensajes, pero todavía hay uno.
También quiero agregar contexto: estoy comenzando y deteniendo mongod como parte de los casos de prueba para otro código, por lo que registrarme como servicio no se ajusta al caso de uso. Espero terminar con algo que se ejecute en todas las plataformas (esto está probado en Windows en este momento). Estoy usando mongod 3.6.9
fuente
Simplemente hice:
quit();Tenga en cuenta que estoy usando mongo 3.0.
Mongo
fuente
en la ventana de terminal en tu mac, presiona control + c
fuente
Usando homebrew (forma recomendada):
Para comenzar:
brew services start mongodb-communityPara detener:
brew services stop mongodb-communityfuente
Yo uso este script de inicio en Ubuntu.
fuente
Ventanas
En PowerShell, es:
Stop-Service MongoDBLuego, para comenzar de nuevo:
Start-Service MongoDBPara verificar si se ha empezado, ejecute:
net start | findstr MongoDB.Nota: arriba se supone que MongoDB está registrado como un servicio .
fuente
Aproveche el Administrador de tareas proporcionado por su sistema operativo para obtener una solución rápida y fácil. A continuación se muestra la captura de pantalla de / para Windows 10. Haga clic derecho en el proceso resaltado y seleccione detener . Seleccione inicio , si ya se detuvo.
Nota: internamente, los comandos están haciendo lo mismo que usted tiene que hacer manualmente usando una GUI (Administrador de tareas), proporcionada por Windows / su sistema operativo. Sin embargo, este enfoque se utilizará con el propósito de estudiar / practicar para comenzar y no será bloqueado debido a esto.
fuente
CTRL + C
en la línea de comando de windows
fuente