Que tal usar apenas pgrep
para encontrar o processo, mongod
.
$ pgrep mongod
Ter um script onde eu começo / paro vários serviços dependendo do que eu preciso. Por exemplo, Apache, BIND, MySQL, PostFix, Memcached, Tomcat ... e assim por diante.
Dependendo das opções de status para o script, etc. várias ações são tomadas.
Para a maioria, isso funciona bem: (exemplo com o Apache)
if service apache2 status >/dev/null; then
# ... do some action
fi
Para outros, é preciso usar outros truques como mysqladmin ping
.
No entanto, não consigo encontrar uma boa maneira de verificar o status de mongodb
.
service mongodb status
Ele tem o mesmo "doença" que o MySQL e rende mongodb stop/waiting
e também é avaliado como verdadeiro, mesmo que o serviço não esteja funcionando.
Analisou mongod
, mongostat
etc. mas não encontrou nenhuma opção para isso.
Uma maneira seria usar ps
ou talvez melhor netstat
e combinar com grep
ou algo parecido, mas imaginando se existe uma maneira melhor (mais nativa / segmentada) de verificar o status. Também poderia grep para stop/waiting
, mas não tenho certeza de como isso é confiável, e acho que ele provavelmente poderia quebrar em uma atualização futura.
Eu não tentei o mongodb. Mas a partir dessa resposta aqui , vejo as opções ps
como você mencionou na sua pergunta. Além disso, você mencionou apenas service mongodb status
. No entanto, você também pode tentar /etc/init.d/mongod status
.
verifique com:
ps -edaf | grep mongo # "ps" flags may differ on your OS
ou
/etc/init.d/mongod status
ou
service mongodb status
para ver se o mongod está sendo executado
verifique o arquivo de log /var/log/mongo/mongo.log
para ver se há algum problema relatado
Tags services mongodb shell-script