Запустите значение по умолчанию не содержит runlevels, прерываясь

Я пытаюсь проверить, помогло ли это решение мне с автоматическим перезапуском после завершения работы.

Но команда 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 не работает? И что означает сопровождаемая ошибка? Я не понимаю, где искать ошибки.

6
задан 27 April 2017 в 04:25

3 ответа

Наверху Вашего /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
13
ответ дан 23 November 2019 в 07:22

У меня было то же сообщение об ошибке, но оно включало сообщение о 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

1
ответ дан 23 November 2019 в 07:22

Я просто хотел опубликовать комментарий, прикрепленный к исходному вопросу, в качестве ответа, так как моя проблема была решена.

Я начал с сценария оболочки /etc/init.d/kafka и использовал его с флагами запуска и остановки. Затем я написал файл модуля SystemD и поместил его в /etc/systemd/system/kafka.service. Многие команды systemctl, такие как systemctl cat kafka и systemctl status kafka, показывают, что файл модуля был обнаружен как последний файл kafka.service, но каким-то образом старый в /etc/init.d конфликтует с этим. Как только я удалил его, я смог включить службу.

Я не могу найти никакой документации по этому поведению.

0
ответ дан 30 May 2020 в 00:38

Другие вопросы по тегам:

Похожие вопросы: