Mogę zabić mongoda, żeby powstrzymać mongo?
Jestem nowy w Mongo. Biegnę mongod
zgodnie z opisem tutaj W Mac OS X
. Uruchamiam dwa procesy mongod
z linii poleceń. Jeśli muszę zatrzymać mongod
procesy po prostu wykonuję kill <pid of mongod>
. Czy jest to zalecany sposób na zatrzymanie mongod
?
8 answers
To jest dość późno, ale miałem ten sam problem teraz, i znalazłem jeden łatwy sposób:
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...
Daje dziwne wiadomości, ale działa.
I zrobiłem alias - polecenie do łatwego uruchamiania.
alias stop-mongo='/opt/mongo/release/bin/mongo admin --eval "db.shutdownServer()"'
Działa to przynajmniej jeśli uruchomisz Mongo ręcznie (np. z opcją --fork).
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-02-19 09:07:31
W końcu udało się (Ubuntu 15.04) z
//1.znajdź proces po nazwie:
$ pgrep mongo
1350
//2.kill mongod-proces
$ kill 1350
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-01-31 19:40:18
Odpowiedź przyjęta przez Esa jest prawidłowa. Ponadto, jeśli chodzi o to, czy zalecane jest użycie kill-tak, ale z flagą -2
lub bez flagi, nigdy nie używaj -9
. Jak wspomniano w docs .
kill -2 `pgrep mongo`
Alias
alias stopmongo='kill -2 `pgrep mongo`'
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-09-25 23:36:26
Windows
use admin
db.shutdownServer()
Dla Systemów z włączonym auth, użytkownicy mogą wydawać tylko db.shutdownServer() po uwierzytelnieniu do bazy danych administratora lub przez interfejs localhost w systemach bez włączonego uwierzytelniania.
Linux
mongod --shutdown
Możesz również użyć
kill <mongod process ID>
Zobacz http://docs.mongodb.org/manual/tutorial/manage-mongodb-processes/
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-01-29 12:29:35
Najprostszym sposobem jest Ctrl + C
, który zadziałał u mnie na blokującej powłoce bash pod El Capitan.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-02-17 01:07:32
Właśnie napotkałem problem z "just killing the mongod" w mac...
Mongod jest nadal uruchomiony jako usługa przez "launchctl" w systemach mac. "just killing" to zabije tę służbę.
Teraz, aby użyć powłoki mongo, robimy mongod ponownie, jednak w innych celach programistycznych, takich jak łączenie z węzła, musimy upewnić się, że uruchamiamy mongod raz po raz.
Inną alternatywą jest wyłączenie systemu i ponowne uruchomienie.
Better Sposób:
Zacznij używać launchctl do zarządzania takimi usługami. Oto przykład:
Jaki jest prawidłowy sposób uruchomienia usługi mongod na Linuksie / OS X?
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:10:11
Jeśli skonfigurowałeś autostart, zabicie procesu nie pomoże, Nowy rozpocznie się natychmiast. Aby wyłączyć autostart, musisz najpierw zlokalizować plik autostartu. Możesz spróbować znaleźć plik używając np.
find / -name "mongodb.plist"
lub locate "mongodb.plist"
Po znalezieniu pliku usuń konfigurację autostartu używając (możesz najpierw spróbować Bez sudo
, nie jest to potrzebne, jeśli wykonałeś instalację za pomocą Homebrew):
sudo launchctl unload -w <file>
Jeśli i tak chcesz zabić proces i nie używa autostart, pamiętaj, aby nie używać kill -9 <PID>
, może to uszkodzić db. kill -1 <PID>
lub kill -15 <PID>
powinny być bezpiecznymi opcjami.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-10-27 12:58:39
Terminal$ kill $(pgrep)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-08-30 07:13:53