¿El script Systemd Python no se registra (causa del búfer)?

¿El script Systemd Python no se registra (causa del búfer)?

Aunque el problemaexpuesto aquíParece muy similar, ninguna de las soluciones proporcionadas funciona. Contexto :

  • Raspberry Pi Zero W, Raspbian Lite (20/08/2020)
  • Quiero registrar un script de Python3 como servicio para ejecutarlo en segundo plano.

Quería hacerlo funcionar con systemd, que funcionaba con la siguiente configuración:

application.servicese encuentra en/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 servicio se carga correctamente al inicio, en los segmentos esperados (relacionados con Wantsy WantedBysecciones).Pero no registrará nada en el archivo de registro que proporcioné.. Notará Environmentla entrada a la fuerza PYTHONUNBUFFEREDy ​​lo mismo con el -uargumento pasado en la llamada ejecutable de Python. Esto no tiene ningún efecto.

Si ejecuto exactamente la misma línea ejecutiva en una CLI, el script se ejecuta Y registra. A través de la definición del servicio, no hay ningún registro.

Notas al margen:

  • Si reviso journalctlla salida, encuentro mis líneas de registro.
  • logrotatey log2ramestán configurados en el archivo/directorio de registro

Terminé agregando mi línea de comando /etc/rc.localseguida de un signo comercial. En mi opinión, esto no es posible ya que me gustaría registrar este servicio de la mejor manera posible con respecto al sistema en el que se está ejecutando.

Gracias por sus respuestas e iluminaciones.

Respuesta1

No deberías intentar utilizar redirecciones de shell de esta manera. No funciona porque systemd no es un shell. Más bien, especifiqueStandardOutput=yStandardError=explícitamente si desea que se dirijan a otro lugar que no sea la revista.

información relacionada