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.