Ich bin sehr neu bei Mongo. Ich betreibe mongod
wie beschrieben here in Mac OS X
. Ich führe zwei mongod
Prozesse von der Befehlszeile aus. Wenn ich die mongod
Prozesse stoppen muss, führe ich einfach kill <pid of mongod>
aus. Ist es der empfohlene Weg, um mongod
zu stoppen?Kann ich Mongod einfach töten, um Mongo zu stoppen?
Antwort
verwenden Dies ist ziemlich spät, aber ich jetzt gleiche Problem hatte, und ich fand eine einfache Lösung:
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...
Es gibt einige seltsame Nachrichten, aber es funktioniert.
Und ich machte alias -Kommando für die Ausführung einfach.
alias stop-mongo='/opt/mongo/release/bin/mongo admin --eval "db.shutdownServer()"'
Dies funktioniert zumindest, wenn Sie Ihren Mongo manuell starten (z. B. mit --gabel Option).
Windows-
use admin
db.shutdownServer()
Für Systeme mit Auth aktiviert ist, darf der Benutzer nur Ausgabe db.shutdownServer(), wenn aktiviert der Admin-Datenbank oder über den lokalen Host-Schnittstelle auf Systemen ohne Authentifizierung authentifiziert.
Linux
mongod --shutdown
Sie können auch
kill <mongod process ID>
siehe http://docs.mongodb.org/manual/tutorial/manage-mongodb-processes/
begegnet nur ein Problem mit dem in Mac "nur die mongod töten" ...
Die mongod von "launchctl" als Dienst ausgeführt wird in Mac-Systemen gehalten wird. "einfach zu töten" wird diesen Dienst töten.
Jetzt verwenden wir mongo Shell wieder mongod, aber für andere Entwicklungszwecke wie Verbindung vom Knoten müssen wir sicherstellen, dass mongod immer wieder laufen.
Andere Alternative ist das System heruntergefahren und neu gestartet.
Better Way:
starten launchctl solche Dienste zu verwalten verwenden. Hier ist ein Beispiel dafür:
What is the correct way to start a mongod service on linux/OS X?
Es gelang schließlich (Ubuntu 15.04) mit
//1.find Prozess nach Name:
$ pgrep mongo
// 2.töten mongod-Prozess
$ kill 1350
Der einfachste Weg ist Ctrl + C
, was für mich auf einer blockierenden Bash-Shell unter El Capitan gearbeitet.
Die angenommene Antwort von Esa ist korrekt. Auch, ob die Verwendung von Kill empfohlen wird - ja, aber mit Flag -2
oder kein Flag, niemals . Wie in docs erwähnt.
kill -2 `pgrep mongo`
Alias
alias stopmongo='kill -2 `pgrep mongo`'
können Sie erklären, y, die wir verwenden müssen -2 Flagge –
@SujayUN - Bitte überprüfen Sie den Link zu offiziellen Dokumenten von Mongo in der Antwort.Dies wird von Mongo-Entwicklern empfohlen.Der Grund, warum ich erwähnte nicht zu verwenden -9, war AFAIK (nicht perfekt) es ist ein Kill-Signal und tötet die Anwendung sofort -2 in Layman ist ein Soft-Interrupt, der Mongo sagt, seine kritische Aufgabe zu beenden, keine zukünftigen Daten R/W-Anfragen zu akzeptieren und zu beenden Datenkorruption.Weitere Informationen zu Signalen finden Sie unter http://tldp.org/LDP/Bash-Beginners-Guide/html/sect_12_01.html – saurabheights
Wenn Sie Autostart konfiguriert haben, den Prozess zu töten nicht helfen, werden neue sofort starten. Um den Autostart zu deaktivieren, müssen Sie zuerst die Autostart-Datei suchen. Sie können versuchen, die Datei mit z.
find/-name "mongodb.plist"
oder locate "mongodb.plist"
Nachdem die Datei gefunden wird, entfernen Sie den Autostart-config (können Sie versuchen, ohne sudo
zuerst, es ist nicht erforderlich, wenn Sie die Installation mit Homebrew getan):
sudo launchctl unload -w <file>
Wenn Sie den Prozess trotzdem abbrechen möchten und keinen Autostart verwenden, denken Sie daran, nicht kill -9 <PID>
zu verwenden, da dies die db beschädigen kann. kill -1 <PID>
oder kill -15 <PID>
sollten sichere Optionen sein.
- 1. Ich möchte nicht mongod mit `sudo mongod` starten.
- 2. "Mongod" kann nicht eingestellt werden. PATH
- 3. Verwenden Sie PowerShell, um zu stoppen, kann ich umgehen bestätigen?
- 4. Wie um Aufgaben in Android zu töten?
- 5. Android, Was ist der beste Weg, um AbstractThreadedSyncAdapter zu töten?
- 6. Wie pid verwenden, um Prozess zu töten
- 7. Wie kann ich TProgressBar stoppen zu verzögern?
- 8. Warum töten und starten explorer.exe nicht einfach Programme?
- 9. "Würdevoll" einen Prozess zu töten
- 10. Um Java-Handler zu stoppen
- 11. Wie kann ich den Affenwahnsinn stoppen?
- 12. Wie kidprocess in Nodejs zu töten?
- 13. Sharding Mongo Überrascht zu entdecken
- 14. Hotkey, um REPL zu stoppen?
- 15. Wie kann ich einen Thread in Python zu töten
- 16. Wie kann ich überprüfen, ob die Datei existiert und wenn nicht, den Build zu töten?
- 17. Ich kann einfach nicht strcat
- 18. Wie zu töten Port
- 19. mongod, Mac OS X - rlimits Warnung
- 20. gibt es keine Antwort, wenn ich Mongo
- 21. Wie Hintergrund php Thread zu töten?
- 22. intelligente Art und Weise zu töten, um nicht WebService
- 23. Versuchen, meine App zu töten
- 24. Fehler in Mongo Start
- 25. Kann ich einen IIS stoppen?
- 26. Kann ich Mongo js Skripte von reactivemongo
- 27. Wie ssh zu machen, um Remote-Prozess zu töten, wenn ich ssh selbst unterbrechen?
- 28. Wie kann ich PythonShell stoppen?
- 29. Batch-Skript von Python ausführen, um Python zu töten?
- 30. Entsprechendes Signal, um den Django-Entwicklungsserver zu töten
Danke. Hinzugefügt, dass ich "Mongo" in Mac laufen lasse. Es ist interessant, 'mongod' hat keine' shutdown'-Option auf dem Mac: (( – Michael
siehe http://stackoverflow.com/questions/8495293/whats-a-clean-way-to-stop-mongod-on-mac- os-x – jcrada