Что корректный путь состоит в том, чтобы записать правилу udev остановить сервис под systemd

Мой коллега установил человечность и имел его повреждение сетевого соединения, подобное способу, которым Вы описали это. Он проследил проблему до использования беспроводной связи n (его сетевое соединение было по беспроводной карте USB, которая использовала чипсет Atheros). После того как он повернул беспроводной маршрутизатор к смешанному (вместо того, чтобы использовать беспроводную связь n исключительно), эта проблема ушла.

YMMV.

12
19.09.2013, 15:57
1 ответ

Ваша проблема может быть решена с помощью systemd только путем простого указывания, что сервис Требует или, еще лучше, BindsTo данное устройство.

Заключение в кавычки:

"Если один из другого [требуемый/связываемый к] единицы будут деактивированы или его сбои активации, то эта единица [сервис] будет деактивирована"

Просто необходимо отредактировать сервисный файл как следующее.

[Unit]
<...>
BindsTo=<DEVICE UNIT HERE>.device
<...>
After=<DEVICE UNIT HERE>.device

Примечание: получить список всего доступного использования файлов единицы устройства systemctl list-units --all --full | grep ".device"

11
27.01.2020, 19:56
  • 1
    Это означает, что мне не нужно правило udev? Я пытался сделать, как Вы предположили путем создания нового сервисного файла для замены netcfg @wvdial.service и включая те две строки. Это, действительно кажется, останавливает сервис теперь, но это не запускает его, когда устройство включается снова. –  crazystick 19.09.2013, 14:25
  • 2
    @crazystick Вам все еще нужно правило udev для запуска сервиса, что я имел в виду, является Вами, не должен будет использовать udev для остановки его. –  brunocodutra 19.09.2013, 15:47
  • 3
    Получил его. Работы очень приятно и с udev управляют и с измененный сервисный файл. –  crazystick 19.09.2013, 15:54
  • 4
    Можно использовать StopWhenUnneeded=true вместо этого BindsTo и After –  SergA 19.05.2016, 12:32
  • 5
    @SergA к тому времени, когда я ответил на это было предотвращение ошибки StopWhenUnneeded=true от работы, но я полагаю, что она была зафиксирована долгое время теперь. –  brunocodutra 19.05.2016, 14:39

Теги

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