Você tem uma incompatibilidade de protocolo de prontidão. Você disse ao systemd que seu programa bifurca um processo filho e depois sai do processo pai para sinalizar que está pronto. Mas, na verdade, o seu programa não faz isso. Como ele não afirmou que está pronto dentro de 90 segundos (o tempo limite de início padrão), o systemd decidiu que seu serviço falhou. Serviços com falha deixam tudo morto. Por causa de on-failure
, seu serviço com falha é reiniciado e o ciclo se repete.
Use o protocolo de prontidão que descreve corretamente o que seu programa realmente faz. Isso, você não nos contou.
Leitura adicional
- Jonathan de Boyne Pollard (2015). Problemas de protocolo de preparação com o Unix dæmons . Respostas frequentemente dadas.
- link
- link
- link