I am trying to write a python script which shows me the services which are running on my server.
Não faça isso. Isso é exatamente para o que é um gerenciador de processos como upstart ou systemd . Usando systemd , um arquivo de unidade simples para o mongo pode ser parecido com:
[Unit]
Description=High-performance, schema-free document-oriented database
After=syslog.target network.target
[Service]
Type=forking
User=mongodb
EnvironmentFile=/etc/sysconfig/mongod
PIDFile=${PIDFILE-/var/run/mongodb/mongod.pid}
ExecStart=/usr/bin/mongod $OPTIONS run
PrivateTmp=true
LimitNOFILE=64000
TimeoutStartSec=180
[Install]
WantedBy=multi-user.target
Se você quiser que isso seja reiniciado automaticamente quando falhar, você poderá adicionar à seção [Service] :
Restart=on-failure
Se você tiver o azar de trabalhar em um sistema sem um sistema moderno gerenciador de processos, você pode usar uma ferramenta como o supervisor para obter mesmo efeito.
Mas, de verdade, se o seu aplicativo continuar falhando, você estará muito melhor
tentando descobrir a origem do problema. O Mongodb registra informações para onde logpath em seus /etc/mongod.conf pontos de arquivos ( /var/log/mongodb/mongodb.log em meu sistema) e esse é provavelmente o primeiro local a procurar por problemas.
Outras aplicações fornecem informações de diagnóstico semelhantes que podem ajudar a encontrar a causa raiz das falhas.