O script de inicialização do systemd não funciona

O script de inicialização do systemd não funciona

Eu criei um script de inicialização do systemd que simplesmente chama um script python com argumentos start ou stop. O script funciona se for executado manualmente a partir do shell, mas quando executo systemctl start foo ou systemctl stop foo ele não funciona

[Unit]
Description=foo Backends
After=network.target remote-fs.target nss-lookup.target

[Service]
ExecStart=/opt/foo/scripts/init_backends.py start
ExecStop=/opt/foo/scripts/init_backends.py stop
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target

Observe que chamar /opt/foo/scripts/init_backends.py start do shell funciona perfeitamente

Responder1

Começou a funcionar ao usar a seguinte configuração. Acho que StandardOutput=tty foi a chave

[Unit]
Description=foo Backends
After=network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
ExecStart=/opt/foo/scripts/init_backends.py start
ExecStop=/opt/foo/scripts/init_backends.py stop
User=root
Group=root
TimeoutSec=300
StandardOutput=tty
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target

informação relacionada