MongoDB在不执行守护进程的情况下运行

Bla*_*ard 3 ubuntu mongodb nosql

我在我的Ubuntu 13.04安装MondoDB,并试图通过在任一输入运行其后台程序mongodsudo mongod,但我遇到了以下信息:

mongod --help for help and startup options
Thu Jun 27 05:11:02 [initandlisten] MongoDB starting : pid=11685 port=27017 dbpath=/data/db/ 64-bit host=myhost
Thu Jun 27 05:11:02 [initandlisten] db version v2.2.4, pdfile version 4.5
Thu Jun 27 05:11:02 [initandlisten] git version: nogitversion
Thu Jun 27 05:11:02 [initandlisten] build info: Linux batsu 3.2.0-37-generic #58-Ubuntu SMP Thu Jan 24 15:28:10 UTC 2013 x86_64 BOOST_LIB_VERSION=1_49
Thu Jun 27 05:11:02 [initandlisten] options: {}
Thu Jun 27 05:11:02 [initandlisten] journal dir=/data/db/journal
Thu Jun 27 05:11:02 [initandlisten] recover : no journal files present, no recovery needed
Thu Jun 27 05:11:02 [initandlisten] ERROR: listen(): bind() failed errno:98 Address already in use for socket: 0.0.0.0:27017
Thu Jun 27 05:11:02 [websvr] ERROR: listen(): bind() failed errno:98 Address already in use for socket: 0.0.0.0:28017
Thu Jun 27 05:11:02 [websvr] ERROR:   addr already in use
Thu Jun 27 05:11:02 [initandlisten] ERROR:   addr already in use
Thu Jun 27 05:11:02 [initandlisten] now exiting
Thu Jun 27 05:11:02 dbexit: 
Thu Jun 27 05:11:02 [initandlisten] shutdown: going to close listening sockets...
Thu Jun 27 05:11:02 [initandlisten] shutdown: going to flush diaglog...
Thu Jun 27 05:11:02 [initandlisten] shutdown: going to close sockets...
Thu Jun 27 05:11:02 [initandlisten] shutdown: waiting for fs preallocator...
Thu Jun 27 05:11:02 [initandlisten] shutdown: lock for final commit...
Thu Jun 27 05:11:02 [initandlisten] shutdown: final commit...
Thu Jun 27 05:11:02 [initandlisten] shutdown: closing all files...
Thu Jun 27 05:11:02 [initandlisten] closeAllFiles() finished
Thu Jun 27 05:11:02 [initandlisten] journalCleanup...
Thu Jun 27 05:11:02 [initandlisten] removeJournalFiles
Thu Jun 27 05:11:02 [initandlisten] shutdown: removing fs lock...
Thu Jun 27 05:11:02 dbexit: really exiting now
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试通过键入mongo甚至不运行其守护进程来运行MongoDB时,似乎我可以成功使用MongoDB.我没有启动任何守护进程,而且我的终端只有一个窗口,所以同时运行守护进程和主mongo程序是不可能的......

所以问题是,为什么我可以在不启动任何守护进程的情况下使用MongoDB?当我在OS X上使用MongoDB时,我总是必须在使用MongoDB之前运行守护进程.为了您的信息,我通过Parallels 8在我的OS X 10.8上安装了Ubuntu 13.04,并按照官方文档解释的相同路线安装了MongoDB.

或者因为我在端口27017上的OS X上使用MongoDB,所以我不必在Virtual Ubuntu上运行守护进程?(虽然我现在不在OS X上运行守护进程......)

AMA*_*nc. 9

当您安装mongo时,它应该已经为您运行服务器.

这可以通过它说"addr已经在使用中"(这意味着某些东西在mongod端口上运行)以及你可以成功使用它这一事实得到证实.

您还可以通过ps wuax | grep mongo在结果列表中运行并查找mongod来测试这一点- 这列出了计算机上运行的所有进程,然后从此列表中删除任何未提及mongo的进程.您可能还会看到一行中包含"grep"的行 - 这是您当前正在运行的命令,您可以忽略该命令.

当我在计算机上运行它时,它显示:

mongodb  22394  9.1  1.0 109244 33592 ?        Dsl  08:29   0:01 /usr/bin/mongod --config /etc/mongodb.conf
1001     22423  0.0  0.0   9436   904 pts/3    S+   08:29   0:00 grep --color=auto mongo
Run Code Online (Sandbox Code Playgroud)