Автоматическое уничтожение процесса mongod при завершении работы Mac OS

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

$pidof mongod 
44512

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

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

1 ответ

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

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

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

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

use admin
db.shutdownServer()

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

Другие вопросы по тегам