Ответ 1
Быстрое решение
Запустите в терминале следующее:
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 для.