我是Mongo的新人。我在mongod
中描述here正在运行Mac OS X
。我从命令行运行两个mongod
进程。如果我需要停止mongod
进程,我只需执行kill <pid of mongod>
。这是阻止mongod
的推荐方法吗?
这已经很晚了,但我现在遇到了同样的问题,我发现了一个简单的方法:
Esan-iMac:~$mongo admin --eval "db.shutdownServer()"
MongoDB shell version: 2.6.4
connecting to: admin
2015-02-19T10:54:22.574+0200 DBClientCursor::init call() failed
server should be down...
它给出了一些奇怪的信息,但它有效。
我制作了alias-command来轻松运行它。
alias stop-mongo='/opt/mongo/release/bin/mongo admin --eval "db.shutdownServer()"'
这至少在您手动启动mongo时起作用(例如使用--fork选项)。
它终于成功了(Ubuntu 15.04)
//1.find过程名称:
$ pgrep mongo
1350
//2.kill mongod-process
$ kill 1350
Esa接受的答案是正确的。此外,关于是否建议使用杀戮 - 是的,但使用标志-2
或没有标志,从不使用-9
。正如docs中提到的那样。
kill -2 `pgrep mongo`
别号
alias stopmongo='kill -2 `pgrep mongo`'
视窗
use admin
db.shutdownServer()
对于启用了auth的系统,用户只能在对管理数据库进行身份验证时或在未启用身份验证的系统上通过localhost接口发出db.shutdownServer()。
Linux的
mongod --shutdown
你也可以用
kill <mongod process ID>
见http://docs.mongodb.org/manual/tutorial/manage-mongodb-processes/
刚刚在mac中遇到了“只是杀死mongodb”的问题
更好的方法 :
开始使用launchctl来管理此类服务。这是一个例子:
What is the correct way to start a mongod service on linux / OS X?
最简单的方法是Ctrl + C
,它在El Capitan下的阻挡bash shell上为我工作。
如果您已配置自动启动,则终止该进程将无济于事,新的将立即启动。要禁用自动启动,您必须先找到自动启动文件。您可以尝试使用例如
find / -name "mongodb.plist"
或locate "mongodb.plist"
找到文件后,删除自动启动配置(您可以先尝试不使用sudo
,如果您使用Homebrew完成安装则不需要):
sudo launchctl unload -w <file>
如果你想杀死进程并且它没有使用自动启动,请记住不要使用kill -9 <PID>
,它可能会损坏数据库。 kill -1 <PID>
或kill -15 <PID>
应该是安全的选择。
终端$ kill $(pgrep mongod)