Mongodb 未通过 --shutdown 命令关闭

kom*_*mer 4 shutdown kill mongodb

我需要帮助解决优雅关闭 mongod 的问题。我在 docker 上运行 mongodb 。

我像使用命令一样运行 mongod:

mongod --config /etc/mongod.conf

当我关闭时:

mongod --关闭

我收到消息:

似乎没有使用 dbpath 运行的服务器:/data/db

该消息为 true ,因为我的数据库路径不是 "/data/db" 。

如果我尝试将其关闭,例如:

mongod --config /etc/mongod.conf --shutdown

我收到消息:

使用 pid 杀死进程:9

问题是什么 ??

小智 6

我发现如果您不使用 default --dbpath,则必须将其指定为关闭的一部分。例如,如果您mongod使用/Mongo/Datadbpath启动服务,则必须使用以下命令将其关闭:

mongod --dbpath /Mongo/Data --shutdown
Run Code Online (Sandbox Code Playgroud)

即使您不使用默认端口 27017,这也有效。


Ram*_*lat 5

你可以只使用:

pskill mongod
Run Code Online (Sandbox Code Playgroud)

或者对于一些 *nix 和 linux 发行版:

pkill mongod
Run Code Online (Sandbox Code Playgroud)

当 mongod 得到 SIGTERM 命令(kill 命令的默认信号是 SIGTERM)时,它将优雅地关闭数据库。

您还可以使用以下命令检查 mongod 进程的 PID:

ps -ef | grep mongod
Run Code Online (Sandbox Code Playgroud)

然后关闭:

kill <PID of mongod>
Run Code Online (Sandbox Code Playgroud)

但是不要对 mongod 进程使用 kill -9

  • `pskill` 可能在某些机器(包括我自己的机器)上作为 `pkill` 使用 (6认同)