Автоматическое уничтожение процесса 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 должен изящно остановить это.