Systemd-Startskript funktioniert nicht

Systemd-Startskript funktioniert nicht

Ich habe ein systemd-Startskript erstellt, das einfach ein Python-Skript mit Start- oder Stoppargumenten aufruft. Das Skript funktioniert, wenn es manuell von der Shell aus ausgeführt wird, aber wenn ich systemctl start foo oder systemctl stop foo ausführe, funktioniert es nicht

[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

Beachten Sie, dass der Aufruf von /opt/foo/scripts/init_backends.py start aus der Shell problemlos funktioniert.

Antwort1

Es funktionierte, als ich die folgende Einstellung verwendete. Ich denke, StandardOutput=tty war der Schlüssel

[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

verwandte Informationen