177

cli で MongoDB を開始/停止できる必要があります。開始するのは非常に簡単です。

./モンゴッド

ただし、mongo DB を停止するには、最初に open mongo shell を実行してから、次の 2 つのコマンドを入力する必要があります。

$ ./モンゴ

管理者を使用

db.shutdownServer()

そのため、mongo DB を 1 行で停止する方法がわかりません。何か助けはありますか?

4

19 に答える 19

269

MongoDB の開始と停止については、MongoDB のマニュアルで説明されています。シェル、cli、ドライバーなどを介して MongoDB を停止するさまざまなオプションについて説明します。また、MongoDB を誤って停止するリスク (データの破損など) についても詳しく説明し、さまざまな kill シグナルについて説明します。

さらに、 UbuntuまたはDebian用のパッケージ マネージャーを使用して MongoDB をインストールした場合は、次のように mongodb (現在は ubuntu の mongod) を停止できます。

  • 新興企業:sudo service mongod stop

  • システムビニット:sudo /etc/init.d/mongod stop

またはMac OS Xの場合

または、Red Hatベースのシステムの場合:

  • service mongod stop

または、Windowsで次の名前のサービスとしてインストールした場合MongoDB:

  • net stop MongoDB

また、サービスとしてインストールされていない場合 (Windows 7 以降)、次を実行できます。

  • taskkill /f /im mongod.exe

クリーンでないシャットダウンの問題、そのようなシナリオを回避する最善の方法、およびクリーンでないシャットダウンが発生した場合の対処方法の詳細については、「予期しないシャットダウン後のデータの回復」を参照してください。

于 2012-08-02T11:45:32.277 に答える
114

元の質問のコマンドと同等の1行が文字通り必要な場合は、次のようにエイリアスを設定できます。

mongo --eval "db.getSiblingDB('admin').shutdownServer()"

サービスを介したMongoDBの開始と停止に関するMarkの回答は、より一般的な(そして推奨される)管理アプローチです。

于 2012-08-02T12:10:25.477 に答える
36

サーバーが端末でフォアグラウンド プロセスとして実行されている場合は、

Ctrl-C

実行中のサーバーを完全にシャットダウンする別の方法は、shutdown コマンドを使用することです。

> use admin
> db.shutdownServer();

それ以外の場合は、 kill などのコマンドを使用してシグナルを送信できます。mongod の PID が 10014 の場合、コマンドは次のようになります。

kill -2 10014
于 2014-02-20T13:26:14.353 に答える
5

コマンドラインを使用してmongodbサービスを開始または停止するための1つのライナー。

  1. サービスを開始するには:NET START MONGODB
  2. サービスの使用を停止するには:NET STOP MONGODB

私はこれを自分で使用していますが、うまくいきます。

于 2013-04-16T13:55:48.877 に答える
3

与えられたコマンドから、あなたは Linux を使用していると思います。

MongoDB を開始します。

$ sudo service mongod start
mongod start/running, process XXXXX 

ステータスを確認します。

$ sudo service mongod status
mongod start/running, process XXXXX 

MongoDB を停止します。

$ sudo service mongod stop
mongod stop/waiting 
于 2016-09-14T19:45:33.803 に答える
2

自作を使用する (推奨される方法):

始めること:

brew services start mongodb-community

止まる:

brew services stop mongodb-community

于 2020-05-31T15:38:07.937 に答える
1

私は単にやった:

quit();

私はmongo 3.0を使用していることに注意してください。

モンゴ

于 2015-12-25T18:42:04.470 に答える
0

この起動スクリプトを Ubuntu で使用します。

#!/bin/sh

### BEGIN INIT INFO
# Provides:     mongodb
# Required-Sart:
# Required-Stop:
# Default-Start:        2 3 4 5
# Default-Stop:         0 1 6
# Short-Description: mongodb
# Description: mongo db server
### END INIT INFO

. /lib/lsb/init-functions

PROGRAM=/opt/mongo/bin/mongod
MONGOPID=`ps -ef | grep 'mongod' | grep -v grep | awk '{print $2}'`

test -x $PROGRAM || exit 0

case "$1" in
  start)
     log_begin_msg "Starting MongoDB server"
         ulimit -v unlimited.
         ulimit -n 100000
     /opt/mongo/bin/mongod --fork --quiet --dbpath /data/db --bind_ip 127.0.0.1 --rest   --config /etc/mongod.conf.
     log_end_msg 0
     ;;
  stop)
     log_begin_msg "Stopping MongoDB server"
     if [ ! -z "$MONGOPID" ]; then
kill -15 $MONGOPID
     fi
     log_end_msg 0
     ;;
  status)
     ;;
  *)
     log_success_msg "Usage: /etc/init.d/mongodb {start|stop|status}"
     exit 1
esac

exit 0
于 2012-08-02T09:51:12.350 に答える