2013-03-03 60 views
20

我在教程中看到他們使用​​作爲mongod的參數。但是當我嘗試這樣做時,它會顯示未知選項​​。那麼如何在Windows上用​​mongodb?mongodb fork in windows

+1

啊--fork是Linux的事情,我不認爲這是一個用於Windows – Sammaye 2013-03-03 11:13:00

回答

11

​​實際上是一個Linux命令,不是Windows或mongod命令。我不相信在Windows上存在相同的東西。

的Linux在這裏有兩個基本,forkexec但僅適用於Windows真的有createProcess這是有效fork - 和 - exec

設置一個服務並運行它在fork模式是不一樣的,服務更像是一個init.d腳本,但是這是目前唯一的方法。

Cygwin的可以在Windows效仿叉,非常緩慢,如下所述:What is the closest thing windows has to fork()?

+0

可以使用啓動命令,以便在其開始在命令提示符下 – tgkprog 2016-04-24 21:10:34

2

Windows不支持像Unix一樣的fork機制,Windows上最接近的等效機制是將mongod作爲服務運行,如the Mongo manual中所述。

21

你可以寫start /b - 前mongod命令(/ B表示不執行新cmd窗口)。它將啓動您的mongod命令異步並釋放控制檯提示符。所以,具有類似的效果,如fork

它可以在蝙蝠腳本中使用,例如,在開始的副本集:

開始/ B的mongod --replSet M101 --logpath 「1.登錄」 --dbpath數據\ RS1 - 端口27017 --smallfiles

開始/ b的mongod --replSet M101 --logpath 「2.登錄」 --dbpath數據\ RS2 --port 27018 --smallfiles

開始/ b的mongod --replSet M101 --logpath「3.log」--dbpath data \ rs3 --port 27019 --smallfiles

...

+1

你會怎麼然後停止每個或任何mongods的? – sdfor 2014-06-19 20:31:30

+3

mongo localhost:27017 --eval「db.adminCommand({shutdown:1})」 mongo localhost:27018 --eval「db.adminCommand({shutdown:1})」 mongo localhost:27019 --eval「db .adminCommand({shutdown:1})「 – Hersh 2014-06-20 07:14:18

+0

也可以使用pskill,任務管理器或重啓:-) – tgkprog 2016-04-24 21:11:39

0

命令--fork只適用於Linux/Unix。如果您需要-fork在後臺運行mongod,那麼可以通過將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。否則,該服務可能會有問題啓動。詳細情況已在這裏討論:Cannot start MongoDB as a service

2

的​​選項不MongoDB的Windows用戶,你必須執行此在不同窗口中的每個mongod的命令:類Unix平臺 選項

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 

的MongoDB --fork

啓用針對的mongod守護程序模式運行過程的 背景。這是正常操作模式,在生產環境和生產環境中,但可能不適合進行測試。