Запуск и остановка MongoDB описаны в руководстве MongoDB. Он объясняет различные варианты остановки MongoDB через оболочку, cli, драйверы и т. Д. Он также детализирует риски неправильной остановки MongoDB (такие как повреждение данных) и рассказывает о различных сигналах уничтожения.
Кроме того, если вы установили MongoDB с помощью менеджера пакетов для Ubuntu или Debian, вы можете остановить mongodb (в настоящее время mongod в Ubuntu) следующим образом:
Или в Mac OS X
Или в системах на базе Red Hat :
Или в Windows, если вы установили в качестве службы с именем MongoDB
:
И если не установлена как служба (начиная с Windows 7+), вы можете запустить:
taskkill /f /im mongod.exe
Чтобы узнать больше о проблемах нечистого выключения, о том, как наилучшим образом избежать такого сценария и что делать в случае нечистого выключения, см. « Восстановление данных после неожиданного выключения» .
sudo service mongodb [start|stop|restart|status]
.sudo service stop mongodb
Результаты: остановка: неопознанная службаЕсли вам буквально нужна строка, эквивалентная командам в исходном вопросе, вы можете использовать псевдоним:
mongo --eval "db.getSiblingDB('admin').shutdownServer()"
Ответ Марка на запуск и остановку MongoDB через сервисы является более типичным (и рекомендуемым) административным подходом.
источник
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 ...
C:\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
не был надежным, так что я использовал что - то подобное:mongo admin --eval "db.shutdownServer()"
. Ура!mongod --dbpath /path/to/your/db --shutdown
Более подробная информация на официальном: http://docs.mongodb.org/manual/tutorial/manage-mongodb-processes/
источник
mongod v3.4.10
:Error parsing command line: unrecognised option '--shutdown'
:-(db.shutdownServer({force:1,timeoutSecs:0})
что препятствует сбросу оставшихся данных во вторичные. Возможно, вы не всегда этого хотите.Если сервер работает как основной процесс в терминале, это можно сделать, нажав
Другой способ аккуратно завершить работу работающего сервера - использовать команду shutdown,
В противном случае для отправки сигнала может использоваться команда типа kill. Если Mongod имеет 10014 в качестве PID, команда будет
источник
Я следовал официальной документации MongoDB для остановки с сигналами. Один из могут быть использованы следующие команды (ПИД представляет собой
Process ID
частьmongod
процесса):который посылает сигнал 15 (SIGTERM), или
который посылает сигнал 2 (SIGINT).
Если у вас запущено несколько экземпляров или вам не нужен PID, вы можете использовать
pkill
для отправки сигнала всем запущеннымmongod
процессам:или
или, что гораздо безопаснее, только процессам, принадлежащим вам:
или
PS
Примечание: я прибег к этой опции, потому что
mongod --shutdown
, хотя упомянуто в текущей документации MongoDB , любопытно, что не работает на моей машине (macOS, mongodb v3.4.10, установлен сhomebrew
):Error parsing command line: unrecognised option '--shutdown'
PPS
(специфично для macOS) Прежде, чем кто-либо задается вопросом: нет, я не мог остановить это командой,
brew services stop mongodb
потому что я не начал это с
brew services start mongodb
.Я начал
mongod
с пользовательской командной строки :-)источник
использование
mongod --shutdown
Согласно официальному документу: manage-mongodb-Процессы /
: D
источник
Мой особый случай:
предварительно начать mongod:
сейчас хочу остановиться
mongod
.и ссылаюсь на официальный документ Stop Mongod Processes , пробовал:
(1)
shutdownServer
но не удалось:(2)
--shutdown
все еще не удалось:(3) добавление предыдущей команды запуска --shutdown:
(4) использовать
service
для остановки:и
покажите ожидаемый,
Active: inactive (dead)
но наmongod
самом деле все еще работающий, поскольку можете увидеть процесс из ps:и наконец , действительно остановите Mongod:
до сих пор первопричина: до сих пор неизвестно ...
Надеюсь, что решение выше полезно для вас.
источник
создайте файл с именем mongostop.bat
сохраните в нем следующий код
запустите файл mongostop.bat и вы успешно остановили Монго
источник
Один лайнер для запуска или остановки сервиса mongodb с помощью командной строки;
NET START MONGODB
NET STOP MONGODB
Я использую это сам, это работает.
источник
Из приведенных команд я думаю, что вы на Linux.
Запустите MongoDB:
Проверьте статус:
Стоп MongoDB:
источник
Опираясь на ответ от стенние:
Я обнаружил, что Монго пытается восстановить соединение с БД после выключения сервера, что может вызвать задержку и сообщения об ошибках. Добавление quit () после выключения ускоряет его и уменьшает количество сообщений, но оно все еще остается.
Я также хочу добавить контекст - я запускаю и останавливаю mongod как часть тестов для другого кода, поэтому регистрация в качестве службы не подходит для варианта использования. Я надеюсь в конечном итоге что-то, что работает на всех платформах (это проверено в Windows прямо сейчас). Я использую Mongod 3.6.9
источник
Я просто сделал:
quit();
Обратите внимание, что я использую монго 3.0.
Монго
источник
в окне терминала на вашем Mac нажмите control + c
источник
Использование доморощенного (рекомендуемый способ):
Начать:
brew services start mongodb-community
Остановиться:
brew services stop mongodb-community
источник
Я использую этот скрипт запуска в Ubuntu.
источник
Windows
В PowerShell это:
Stop-Service MongoDB
Затем, чтобы начать это снова:
Start-Service MongoDB
Чтобы проверить , является ли это началось, запустите:
net start | findstr MongoDB
.Примечание. Выше предполагается, что MongoDB зарегистрирован как сервис .
источник
Пожалуйста, воспользуйтесь диспетчером задач, предоставляемым вашей ОС, для быстрого и простого решения. Ниже приведен скриншот из / для Windows 10. Щелкните правой кнопкой мыши по выделенному процессу и выберите « Остановить» . Выберите начало , если оно уже остановлено.
Обратите внимание: внутренне команды делают то же самое, что вы должны делать вручную, используя графический интерфейс (диспетчер задач), предоставляемый Windows / вашей ОС. Тем не менее, этот подход будет использоваться в целях обучения / практики, чтобы начать, и вы не будете заблокированы из-за этого.
источник
CTRL + C
в командной строке Windows
источник