O script python do Systemd não registra (causa do buffer)?

O script python do Systemd não registra (causa do buffer)?

Embora o problemaexposto aquiparece muito semelhante, nenhuma das soluções fornecidas funciona. Contexto:

  • Raspberry Pi Zero W, Raspbian Lite (20/08/2020)
  • Quero registrar um script python3 como serviço, para rodar em segundo plano

Eu queria fazer isso funcionar com o systemd, que funcionava com a seguinte configuração:

application.servicereside em/etc/systemd/system/application.service

[Unit]
Description=application
After=multi-user.target


[Service]
User=custom_user
Type=idle
TimeoutSec=0
PIDFile=/run/application.pid
ExecStart=/usr/bin/python3 -u /path/to/application.py >> /path/to/log.log 2>&1
KillMode=control-group
Environment="PYTHONUNBUFFERED=1"

Restart=always
RestartSec=3s

[Install]
WantedBy=multi-user.target

Este serviço é carregado corretamente na inicialização, nos segmentos esperados (relacionados a Wantsseções WantedBy).Mas não registrará nada no arquivo de log que forneci. Você percebe Environmenta entrada para forçar PYTHONUNBUFFEREDe a mesma coisa com o -uargumento passado na chamada executável do Python. Isto não tem efeito algum.

Se eu iniciar exatamente a mesma linha exec em uma CLI, o script será executado E registrará. Através da definição de serviço, nenhum log.

Notas laterais:

  • Se eu verificar journalctla saída, encontro minhas linhas de log
  • logrotatee log2ramsão configurados no arquivo/diretório de log

Acabei adicionando minha linha de comando /etc/rc.localseguida por um e comercial. Na minha opinião, isso não é uma boa ideia, pois gostaria de registrar este serviço da melhor maneira possível em relação ao sistema em que está sendo executado.

Obrigado por suas respostas e esclarecimentos.

Responder1

Você não deve tentar usar redirecionamentos de shell dessa maneira. Não funciona porque o systemd não é um shell. Em vez disso, especifiqueStandardOutput=eStandardError=explicitamente se você quiser que eles sejam direcionados para algum lugar diferente do diário.

informação relacionada