1

Поскольку каждый раз, когда я забываю вручную убить процесс mongod, базы данных должны быть восстановлены. Я использую команду pidof я считаю, что я использовал brew для установки этого, который возвращает номер pid процесса, такой как:

$pidof mongod 
44512

Я уверен, что это может быть | передайте какой-нибудь скрипт и убейте демона перед выключением, предотвращая всевозможные проблемы с mongodb. Вы можете помочь?

Я использую MacOS Sierra.

1 ответ1

0

Поскольку MacOS, вероятно, использует сборку Linux MongoDB, вы можете попробовать использовать опцию --shutdown которая упоминается в документации. Следует чисто отключить БД.

Опция --shutdown полностью и безопасно завершает процесс Mongod. При вызове mongod с этой опцией вы должны установить опцию --dbpath либо напрямую, либо через файл конфигурации и опцию --config.

Опция --shutdown доступна только в системах Linux.

Более того, если вы посмотрите учебники в документации, вы увидите, что вы также можете использовать следующие команды в оболочке mongo, которые должны использоваться внутри скрипта:

use admin
db.shutdownServer()

Третий метод, перечисленный в документации, действительно прост. Так что это может зависеть от того, как MacOS обрабатывает kill по сравнению с Linux. Так что явная отправка SIGTERM а не SIGKILL с использованием kill -2 должна изящно остановить его.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .