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