我刚开始接触Mongo数据库。按照这里的步骤在Mac OS X上运行mongod
。我从命令行启动了两个mongod
进程。如果需要停止mongod
进程,我只需执行kill <pid of mongod>
命令。这是停止mongod
的推荐方法吗?
我刚开始接触Mongo数据库。按照这里的步骤在Mac OS X上运行mongod
。我从命令行启动了两个mongod
进程。如果需要停止mongod
进程,我只需执行kill <pid of mongod>
命令。这是停止mongod
的推荐方法吗?
最终成功了(Ubuntu 15.04),使用以下步骤:
//1.通过名称查找进程:
$ pgrep mongo
1350
//2.关闭mongod进程
$ kill 1350
虽然有点晚了,但我现在也遇到了同样的问题,并且我找到了一个简单的解决方法:
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 stop-mongo='/opt/mongo/release/bin/mongo admin --eval "db.shutdownServer()"'
如果您手动启动Mongo(例如,使用--fork选项),则至少可以这样做。
Esa所提供的答案是正确的。另外,关于是否推荐使用kill命令- 是的,但要使用标志-2
或不使用标志,永远不要使用-9
。如文档所述。
kill -2 `pgrep mongo`
别名
alias stopmongo='kill -2 `pgrep mongo`'
Windows
use admin
db.shutdownServer()
对于启用了认证的系统,只有在通过管理员数据库或在未启用认证的系统上通过本地主机接口进行身份验证后,用户才能发出db.shutdownServer()。
Linux
mongod --shutdown
kill <mongod process ID>
Mongo
。有趣的是,在 Mac 上 mongod
没有 shutdown
选项 :(( - Michael针对2020年:
Mongo应该通过Brew安装,而不是采用传统的Linux风格:即下载/解压缩/配置/运行tar.gz软件包。
使用Brew方式,如果通过brew tap mongodb/brew
和brew install mongodb-community
安装了Mongo,那么你可以按照以下步骤停止(并禁用)它,就像在Linux上使用Systemd一样。
~ brew services list
Name Status User Plist
mongodb-community started zhengxin /Users/zhengxin/Library/LaunchAgents/homebrew.mxcl.mongodb-community.plist
~ brew services stop mongodb-community
==> Successfully stopped `mongodb-community` (label: homebrew.mxcl.mongodb-community)
terminal$ kill $(pgrep mongod)
这个命令可以帮助终止mongod进程。sudo pkill -f mongod
Ctrl + C
,在 El Capitan 下的阻塞 bash shell 中对我有效。在mac系统中,“just killing the mongod”可能会遇到问题...
mongod在mac系统中作为服务由“launchctl”保持运行。“just killing”将杀死该服务。
现在要使用mongo shell,我们需要再次运行mongod,但是对于其他开发目的,如从node连接,我们需要确保一遍又一遍地运行mongod。
其他替代方法是关闭系统并重新启动。
更好的方式:
开始使用launchctl来管理此类服务。这里是一个示例:
find / -name "mongodb.plist"
或 locate "mongodb.plist"
。找到文件后,使用以下命令删除自动启动配置(如果您使用Homebrew进行安装,则无需使用sudo
):sudo launchctl unload -w <file>
kill -9 <PID>
,这可能会损坏数据库。使用kill -1 <PID>
或者kill -15 <PID>
应该是安全的选项。
killall mongod
也可以使用(仅限于您不想杀死特定实例时)。 - yves amsellem