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