几天前我在 Mac 上安装了
MongoDB
,但不确定如何安装,但现在如何检查 MongoDB
是否已在我的系统中启动并运行?
在终端中运行以下命令:
ps -ef | grep mongod | grep -v grep | wc -l | tr -d ' '
这将为您提供正在运行的
MongoDB
进程的数量,因此,如果它不是 0
,那么您的系统上正在运行 MongoDB
。
ps -ef | grep mongod
部分返回与提供的字符串有任何关系的所有正在运行的进程,即mongod
,例如在可执行路径中包含该字符串,在用户名中包含该字符串等当您运行上一个命令时,
grep mongod
也会成为一个在mongod
输出的COMMAND
列中包含字符串ps
的进程,因此它也会出现在输出中。因此,您需要通过管道 grep -v grep
来消除它,它会过滤输入中包含字符串 grep
.所以现在您拥有包含字符串
mongod
并且不是 grep
的实例的所有可能行。该怎么办?数一下,然后用 wc -l
来计算。wc -l
输出包含额外的格式,即空格,因此为了美观,请运行tr -d ' '
删除多余的空格。因此,您将得到一个数字,代表您
grep
'ed 的进程数。
结合
ps
和 grep
的答案应该总能满足您的需求。但是,如果您有 mongo shell 附带的标准安装,一个更容易记住的方法是启动 mongo shell
mongo
shell 将为您提供 mongodb 的状态。
我前段时间也遇到过同样的问题。使用
ps -ef
(进程状态命令)将显示 mongod
或 mongodb 守护进程是否正在运行。但如果它没有运行,它将产生 0,因为状态表明 mondodb 不存在。
但是,如果您想通过 Mac 上的系统搜索来检查安装,例如使用 mongod 或 mongodb 等短语,它将显示以搜索到的短语开头的已安装目录和文件的物理位置。如果你找到这个目录,你会看到一个 bin 目录,里面有二进制文件。
在终端上运行
mongosh
。这对我有用。