24

--fork彼らがmongodのパラメータとして使用するチュートリアルを見てきました。しかし、そうしようとすると、 unknown option と表示されます--fork--forkでは、Windowsでmongodbを実行するにはどうすればよいですか?

4

6 に答える 6

23

start /bコマンドの前に (/b - 新しいコマンド ウィンドウなしで実行することを意味します) と書くことができますmongodmongodコマンドを非同期で開始し、コンソール プロンプトを解放します。のように、同様の効果がありforkます。

たとえば、レプリカ セットの開始など、.bat スクリプトで使用できます。

start /b mongod --replSet m101 --logpath "1.log" --dbpath data\rs1 --port 27017 --smallfiles

start /b mongod --replSet m101 --logpath "2.log" --dbpath data\rs2 --port 27018 --smallfiles

start /b mongod --replSet m101 --logpath "3.log" --dbpath data\rs3 --port 27019 --smallfiles

...

于 2013-09-07T21:13:22.320 に答える
13

--fork実際には、Windows またはmongodコマンドではなく、Linux コマンドです。同じことが Windows に存在するとはまったく思いません。

ここで Linux には 2 つのプリミティブがありますが、実際forkexecは Windows にはcreateProcessどちらが実質的にfork-and-しかありませんexec

サービスのセットアップとforkモードでの実行は同じではありません。サービスはinit.dスクリプトに似ていますが、現在のところそれが唯一の方法です。

ここで説明されているように、Cygwin は Windows で fork を非常にゆっくりとエミュレートできます: Windows が fork() に最も近いものは何ですか?

于 2013-03-03T11:20:16.183 に答える
3

この--forkオプションは、MongoDB for Windows ユーザー向けではなく、別のウィンドウですべての mongod コマンドを実行する必要があります。

mongod --replSet m101 --logpath "1.log" --dbpath /data/rs1 --port 27017 --smallfiles --oplogSize 64  

mongod --replSet m101 --logpath "2.log" --dbpath /data/rs2 --port 27018 --smallfiles --oplogSize 64 

mongod --replSet m101 --logpath "3.log" --dbpath /data/rs3 --port 27019 --smallfiles --oplogSize 64 

Unix ライクなプラットフォーム用の MongoDB オプション--fork

プロセスをバックグラウンドで実行する mongod のデーモン モードを有効にします。これは、本番環境および本番環境に似た環境での通常の操作モードですが、テストには望ましくない場合があります。

于 2015-04-27T15:49:01.050 に答える
2

Windows はforkUnix 系のようなメカニズムをサポートしていません。Mongoマニュアルで説明されているように、Windows で最も近いものはサービスとして mongod を実行することです。

于 2013-03-03T11:14:39.253 に答える
0

コマンド --fork は、Linux/Unix でのみ機能します。mongod をバックグラウンドで実行するために --fork が必要な場合は、Windows で mongod をサービスとしてインストールすることで実現できます。

mongod --install オプションを使用して mongodb サービスをインストールする場合、 --dbpath と --logpath が必要です。私の場合、管理者コマンド コンソールを使用してサービスをインストールする必要があります。

例えば:

mongod --dbpath=C:\mongodb\data --logpath=C:\mongodb\data\log\service.log --install

次に、ログ ファイルを参照して、サービス名と、考えられるエラーを含むその他の情報を確認します。

2014-06-25T18:21:14.245-0700 Trying to install Windows service 'MongoDB'
2014-06-25T18:21:14.253-0700 Service 'MongoDB' (MongoDB) installed with command line 'C:\mongodb-win32-x86_64-2008plus-2.6.1\bin\mongod.exe --dbpath=C:\mongodb\data --logpath=C:\mongodb\data\log\service.log --service'
2014-06-25T18:21:14.254-0700 Service can be started from the command line with 'net start MongoDB'

デフォルトのサービス名は「MongoDB」です。サービスのインストール時に --serviceName オプションでサービス名を指定できます。

次に、ネット使用でサービスを開始します。

net use MongoDB

サービスをインストールするときは、--dbpath と --log に絶対パスを使用することをお勧めします。そうしないと、サービスの開始に問題が発生する可能性があります。詳細はここで説明されています:サービスとして MongoDB を開始できません

于 2014-06-26T01:35:40.183 に答える