1001Ferramentas
👷 Dev

Gerador de Supervisord Program

Cria seção [program:name] do supervisord com command, autostart, autorestart, stdout_logfile e environment.

Manter um processo em pé com o Supervisor

O Supervisor é um gerenciador de processos escrito em Python que existe desde antes do systemd se firmar. Ele continua em uso por um motivo prático: roda sem privilégio de root, funciona igual em qualquer distribuição e dentro de contêiner, e a configuração é um arquivo INI simples em vez de uma unidade com dezenas de diretivas.

Preencha o nome, o comando, o usuário e o diretório de trabalho, e a página monta o bloco de programa. As duas opções que importam são iniciar junto com o supervisor e reiniciar automaticamente ao morrer — juntas, elas dão o comportamento que quase todo mundo quer de um serviço. As variáveis de ambiente entram numa linha própria.

Dois detalhes que causam problema com frequência. O comando precisa rodar em primeiro plano: processo que se transforma em daemon sozinho engana o supervisor, que perde o rastro e fica reiniciando sem parar. E o comando é executado sem shell, então pipe, redirecionamento e expansão de variável não funcionam ali — quando forem necessários, o caminho é chamar o shell explicitamente.

Perguntas frequentes

Supervisor ou systemd?
Em máquina Linux com systemd disponível, o systemd costuma ser a escolha melhor: já está lá, integra com o log do sistema e cuida de dependência entre serviços. O Supervisor ganha quando você não tem root, quando precisa da mesma configuração em sistemas diferentes, ou dentro de contêiner, onde não há systemd.
Por que meu processo reinicia sem parar?
Na maioria das vezes porque ele se transforma em daemon: o processo que o supervisor lançou termina imediatamente, o filho real fica órfão, e o supervisor entende que morreu. A correção é a opção do seu programa que o mantém em primeiro plano — quase todo servidor tem uma.
Onde vão os logs?
Por padrão em arquivos separados para saída e erro, no diretório de log configurado, com rotação por tamanho. Vale ajustar o tamanho e a quantidade de arquivos guardados: o padrão é modesto e, em serviço tagarela, o histórico útil desaparece rápido.

Ferramentas Relacionadas