Служба systemd оказывается в состоянии «неактивна (мертва)» после загрузки

Служба systemd оказывается в состоянии «неактивна (мертва)» после загрузки

Я добавил свою услугу всистемд(Я запускаю его напи3), это выглядит так:

[Unit]
Description=Oral-B BLE scanner service
Wants=network-online.target
After=network-online.target
StartLimitBurst=10
StartLimitIntervalSec=10
Requires=bluetooth.target

[Service]
Type=simple
WorkingDirectory=/home/pi/scripts
ExecStart=/home/pi/scripts/scanOralB.py
Restart=always
RestartSec=10

[Install]
WantedBy=network-online.target

Я добавил символическую ссылку на указанный выше файл в/lib/systemd/система. Я тоже включил эту услугу. Просто чтобы убедиться, я проверил.

pi@raspberrypi:~ $ systemctl is-enabled scanOralB.service
enabled

Если я перезагружу и проверю статус, то он будет выглядеть так:

pi@raspberrypi:~ $ sudo systemctl status scanOralB.service
* scanOralB.service - Oral-B BLE scanner service
   Loaded: loaded (/home/pi/scripts/scanOralB.service; enabled; vendor preset: enabled)
   Active: inactive (dead)

Если я запускаю службу вручную, то все работает нормально. Может кто-нибудь объяснить, почему служба не запускается после загрузки? Я не получаю никаких дополнительных выходных данных отжурналctlили.

решение1

Он не будет начат, потому что он не нужен тому, кто его начинает.

[Установить]
WantedBy=сеть-онлайн.цель
Я добавил символическую ссылку на указанный выше файл в/lib/systemd/система.

Почти все это неверно.

  • Файл модуля должен бытьразмещенв /etc/systemd/system. Символические ссылки интерпретируются systemd своеобразно и не имеют обычной семантики файловой системы. И /lib/systemd/systemэто не место для вручную написанных файлов единиц, которые не поступают из пакетов.
  • Файл модуля должен быть нужен чему-то, что фактически запускается при загрузке. network-online.targetОбычно этого не происходит. multi-user.targetЭто обычный выбор. graphical.targetЭто другой.

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