Macos 我能杀了mongod阻止mongo吗?
我在Mongo很新。我正在运行Macos 我能杀了mongod阻止mongo吗?,macos,mongodb,administration,Macos,Mongodb,Administration,我在Mongo很新。我正在运行mongod,如macosx中所述。我正在从命令行运行两个mongod进程。如果我需要停止mongod进程,我只需执行kill。这是停止mongod的推荐方法吗?Windows use admin db.shutdownServer() alias stopmongo='kill -2 `pgrep mongo`' 对于启用了身份验证的系统,只有在未启用身份验证的系统上通过admin数据库或localhost接口进行身份验证时,用户才能发出db.shutdown
mongod
,如macosx
中所述。我正在从命令行运行两个mongod
进程。如果我需要停止mongod
进程,我只需执行kill
。这是停止mongod的推荐方法吗?Windows
use admin
db.shutdownServer()
alias stopmongo='kill -2 `pgrep mongo`'
对于启用了身份验证的系统,只有在未启用身份验证的系统上通过admin数据库或localhost接口进行身份验证时,用户才能发出db.shutdownServer()
Linux
mongod --shutdown
你也可以使用
kill <mongod process ID>
杀死
参见这已经很晚了,但我现在也遇到了同样的问题,我找到了一个简单的方法:
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-命令来轻松运行它
alias stop-mongo='/opt/mongo/release/bin/mongo admin --eval "db.shutdownServer()"'
这至少在您手动启动mongo(例如使用--fork选项)时有效。刚刚在mac中遇到了一个关于“杀死mongod”的问题
$ pgrep mongo
1350
//2.2.2.2.1.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2
$ kill 1350
最简单的方法是
Ctrl+C
,它在El Capitan下的一个阻塞bash shell上对我有效。Esa接受的答案是正确的。另外,关于是否建议使用kill-是,但使用标志-2
或无标志时,切勿使用-9
。如中所述
别名
use admin
db.shutdownServer()
alias stopmongo='kill -2 `pgrep mongo`'
如果您已经配置了autostart,那么终止该进程将无济于事,新进程将立即启动。要禁用autostart,必须首先找到autostart文件。您可以尝试使用例如查找文件
find/-name“mongodb.plist”
或locate“mongodb.plist”
找到文件后,使用删除autostart配置(您可以先尝试不使用sudo
,如果您使用自制软件完成安装,则不需要此配置):
sudo启动ctl卸载-w
如果您想终止进程,但它没有使用autostart,请记住不要使用kill-9
,否则会损坏数据库kill-1或kill-15应为安全选项。终端$kill$(pgrep mongod)2020年:
Mongo应该通过Brew安装,而不是linux上的老式风格:即tar.gz包下载/解压缩/配置/运行
以brew方式,如果Mongo是通过brew点击mongodb/brew
和brew安装mongodb community
安装的,您可以执行以下操作在Linux上停止(并禁用)它
~ 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)
官方指南
记住不要使用kill-9
否则,您可能需要删除dbpath中的锁文件。此命令有助于终止mongod进程sudopkill-f mongod
谢谢。补充说我正在Mac中运行Mongo
。有趣的是,mongod
在Mac中没有shutdown
选项:((请参见您的解释,我们需要使用-2。)flag@SujayUN-请查看答案中mongo官方文档的链接。这是mongo开发者推荐的。我提到的不使用-9的原因是AFAIK(不完美)这是一个终止信号,并立即终止应用程序。-2在外行术语中是一个软中断,它告诉mongo完成其关键任务,不要接受任何未来的数据R/W请求并退出。这可以防止数据损坏。有关信号的进一步阅读,请参阅在最坏情况下-2不起作用时必须使用-9的内容ng是因为它在后台运行,而终端不可用。我必须在kill语句前面加上sudo
。我在macOS Catalina上,链接到docu非常有用。此外,我还想对这个问题添加一个简短的直接答案,如“是:kill是停止进程的推荐方法之一”。此答案很好,但与saurabheights的答案几乎相同。以后请先检查现有答案以避免重复。感谢您的回答!我使用mac,这对我帮助很大!