скрипт запуска systemd не работает

скрипт запуска systemd не работает

Я создал скрипт запуска systemd, который просто вызывает скрипт python с аргументами start или stop. Скрипт работает, если его запустить вручную из оболочки, но когда я запускаю systemctl start foo или systemctl stop foo, он не работает.

[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

Обратите внимание, что вызов /opt/foo/scripts/init_backends.py start из оболочки работает нормально.

решение1

Это начало работать при использовании следующей настройки. Я думаю, что StandardOutput=tty был ключом

[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

Связанный контент