Automatisches Abschalten des Mongod-Prozesses beim Herunterfahren von Mac OS

870
user689098

Da ich jedes Mal vergessen habe, den Mongod-Prozess manuell zu beenden, müssen die Datenbanken repariert werden. Ich benutze einen Befehl, von dem pidofich glaube, dass ich brew verwendet habe, um diesen zu installieren, der die PID-Nummer des Prozesses zurückgibt, beispielsweise:

$pidof mongod  44512 

Ich bin mir sicher, dass dies sein kann zu einem Skript geleitet und den Daemon vor dem Herunterfahren sauber beendet werden, um alle möglichen Probleme mit dem Mongodb zu vermeiden. Kannst du helfen?

Ich verwende MacOS Sierra.

1
Warum nicht einfach launchd benutzen? Daniel B vor 7 Jahren 0

1 Antwort auf die Frage

0
Seth

Da MacOS wahrscheinlich den Linux-Build von MongoDB verwendet, können Sie versuchen, die --shutdownin der Dokumentation erwähnte Option zu verwenden . Es sollte die Datenbank sauber herunterfahren.

Die Option --shutdown beendet den Mongod-Prozess sauber und sicher. Wenn Sie mit dieser Option mongod aufrufen, müssen Sie die Option --dbpath entweder direkt oder über die Konfigurationsdatei und die Option --config festlegen.

Die Option --shutdown ist nur auf Linux-Systemen verfügbar.

Wenn Sie sich die Tutorials in der Dokumentation ansehen, werden Sie außerdem feststellen, dass Sie die folgenden Befehle auch für eine Mongo-Shell verwenden könnten, die innerhalb eines Skripts verwendet werden kann:

use admin db.shutdownServer() 

Die dritte in der Dokumentation aufgeführte Methode ist in der Tat ein einfacher Kill. Es kann also davon abhängen, wie MacOS killim Vergleich zu Linux handelt. Das explizite Senden SIGTERMstatt das SIGKILLVerwenden kill -2sollte also auf grausame Weise aufhören.