我正在使用 mongodb 数据库将我的应用程序数据保存到集合中,但由于某些原因,mongodb 连接中断,并且出现很多问题,我想通过终端命令检查 mongodb 连接。我搜索了一下,找到了三个将要使用的命令,但我很困惑在 golang 代码中我必须使用哪个命令。
命令 1.pgrep mongod
此命令将返回 PID(进程 ID)。
命令 2.ps -ef | grep mongod
此命令将返回mongodb 15678 1 1 13:58 ? 00:00:01 /usr/bin/mongod --config /etc/mongod.conf
命令 3.ps -ef | grep mongod | grep -v grep | wc -l | tr -d ' '
我从 stackoverflow 接受的答案中找到了这个命令,它可能会返回 0、1。如果除了 0 之外还有其他值,那么您的 mongodb 正在运行,正如答案所说,您可以看到问题的链接
关联:-https://stackoverflow.com/questions/31561098/how-to-check-if-mongo-db-is-running-on-mac
命令 4.service --status-all | grep mongod
将显示带有类似 的签名的 mongod 服务[ + ], or [ - ]
。在文档中,他们说如果服务[ + ]
正在运行并且[ - ]
服务已停止。但在我的本地主机上,mongod 正在运行,[ - ] mongod
当我执行此命令时它会显示出来。为什么?
关联:-https://www.rosehosting.com/blog/how-to-list-all-services-in-linux/
请告诉我必须使用哪个命令来检查 mongodb 是否正在运行,我必须在我的 golang 代码中使用该命令。
答案1
你可以这样做
if pgrep -x mongodd
then echo "ok"
else echo "not ok"
fi