我需要帮助解决如何正常关闭 mongod 的问题。我在 docker 上运行 mongodb。
我使用以下命令运行 mongod:
mongod --config /etc/mongod.conf
当我结束时:
mongod——关闭
我收到消息:
似乎没有使用 dbpath: /data/db 运行的服务器
该消息是真实的,因为我的数据库路径不是“/data/db”。
如果我尝试关闭它,如下所示:
mongod --config /etc/mongod.conf --shutdown
我收到消息:
终止 pid 为 9 的进程
有什么问题?
答案1
我发现,如果您不使用默认值--dbpath
,则必须将其指定为关闭的一部分。例如,如果您使用作为 dbpath 启动服务,则mongod
必须/Mongo/Data
使用以下命令将其关闭:
mongod --dbpath /Mongo/Data --shutdown
即使您没有使用默认端口 27017,此方法也能起作用。
答案2
您可以使用:
pskill mongod
或者对于某些 *nix 和 Linux 发行版:
pkill mongod
当 mongod 收到 SIGTERM 命令(kill 命令的默认信号是 SIGTERM)时,它将正常关闭数据库。
您还可以使用以下命令检查 mongod 进程的 PID:
ps -ef | grep mongod
然后通过以下方式关机:
kill <PID of mongod>
但不要使用 kill -9用于 mongod 进程。
答案3
也可能是你的 mongod 正在作为服务运行,你可以简单尝试:
sudo service mongod stop
并sudo service mongod start
重新开始。还有status
和restart
。