2013-03-03 59 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守护程序模式运行过程的 背景。这是正常操作模式,在生产环境和生产环境中,但可能不适合进行测试。