Я пытаюсь проверить, помогло ли это решение мне с автоматическим перезапуском после завершения работы.
Но команда sudo systemctl enable haltusbpower.service
сопровождается ошибкой:
Синхронизация состояния haltusbpower.service со сценарием услуг SysV с/lib/systemd/systemd-sysv-install. Выполнение:/lib/systemd/systemd-sysv-install включите обновление-rc.d haltusbpower: ошибка: haltusbpower Запускаются значение по умолчанию, не содержит runlevels, прерываясь.
Мой /usr/lib/systemd/system/haltusbpower.service
файл:
[Unit]
Description=haltusbpower
Before=shutdown.target
DefaultDependencies=no
[Service]
ExecStart=/usr/local/bin/haltusbpower.sh
Type=oneshot
RemainAfterExit=yes
[Install]
WantedBy=shutdown.target
Мой /usr/local/bin/haltusbpower.sh
сценарий:
#!/bin/bash
for i in /sys/bus/usb/devices/*/power/control;
do echo on > $i
done
Это имеет, выполняют опцию:
karol@karol:~$ ls -l /usr/local/bin/haltusbpower.sh
-rwxr-xr-x 1 root root 88 kwi 27 13:03 /usr/local/bin/haltusbpow
Почему включение haltusbpower не работает? И что означает сопровождаемая ошибка? Я не понимаю, где искать ошибки.
Наверху Вашего /usr/local/bin/haltusbpower.sh
сценарий добавляют что-то вроде этого:
#!/bin/bash
### BEGIN INIT INFO
# Provides: haltusbpower
# Required-Start: $all
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop:
# Short-Description: Halts USB power...
### END INIT INFO
У меня было то же сообщение об ошибке, но оно включало сообщение о missing LSB tags and overrides
.
Я смотрел в htop и имел несколько процессов, выслеживающих журнал от того, когда я протестировал сервисное использование /usr/local/bin/./MyService.sh start
и /usr/local/bin/./MyService.sh stop
. После того как я уничтожил эти процессы, это было успешно.
Тестовая команда запуска и остановки была взята из http://www.jcgonzalez.com/ubuntu-16-java-service-wrapper-example
Я просто хотел опубликовать комментарий, прикрепленный к исходному вопросу, в качестве ответа, так как моя проблема была решена.
Я начал с сценария оболочки /etc/init.d/kafka
и использовал его с флагами запуска и остановки. Затем я написал файл модуля SystemD и поместил его в /etc/systemd/system/kafka.service
. Многие команды systemctl, такие как systemctl cat kafka
и systemctl status kafka
, показывают, что файл модуля был обнаружен как последний файл kafka.service
, но каким-то образом старый в /etc/init.d конфликтует с этим. Как только я удалил его, я смог включить службу.
Я не могу найти никакой документации по этому поведению.