Правило Udev не выполняется при вставке USB, должен запускать скрипт в фоновом режиме

Я написал правило udev и поместил его в /etc/udev/rules/90-wifi.rules

ACTION=="add", SUBSYSTEM=="usb", DRIVER=="usb", RUN+="sh /usr/local/bin/setup_wifi_wrapper.sh"

Оно должно работать на каждом вставленном USB-устройстве.

Он должен запустить скрипт /usr/local/bin/setup_wifi_wrapper.sh

#!/bin/bash
/usr/local/bin/start_wifi.sh & disown

И это должно запуститься /usr/local/bin/start_wifi.sh

#!/bin/bash

sudo systemctl start hostapd
sudo ifup br0
sudo systemctl restart dnsmasq
touch /home/user/started

Но это не так ... Все сценарии являются исполняемыми, и я могу запустить их из командной строки, и они делают то, что должны. Я попытался разместить их в разных местах, начал в домашней папке и переместил их в usr / local / bin. Сделал обёртку с отречённым от фоновых процессов, но всё ещё без результатов. У кого-нибудь есть идея?

Заранее спасибо

0
задан 6 September 2019 в 22:24

2 ответа

От udev страница справочника для RUN:

Выполняют внешнюю программу, указанную как присвоенное значение. Если никакой полный путь не будет дан, то программа, как ожидают, будет жить в /lib/udev; иначе полный путь должен быть указан.

sh не находится в /lib/udev.

, Кроме того, путем начала sh скрипт запущен интерпретатором Sh. Однако из командной строки, вероятно, никакой интерпретатор не был дан, таким образом, #!/bin/bash строка будет использоваться для выбора Bash.

Эти disown конкретный Bash. Поэтому просто удалите продвижение sh из этой части правила:

RUN+="/usr/local/bin/setup_wifi_wrapper.sh"
1
ответ дан 23 October 2019 в 03:00

измените udev-правило

ACTION=="add", SUBSYSTEMS=="usb", DRIVERS=="usb", RUN+="/bin/sh /usr/local/bin/setup_wifi_wrapper.sh"

, я избежал бы ВЫПОЛНЕНИЯ + Ключ.

И Ваш сценарий

 #!/bin/sh
/bin/sleep 10 
systemctl start hostapd &&
ifup br0 &&
systemctl restart dnsmasq &&
touch /home/user/started

последовательность только работает, если каждая команда успешна.

0
ответ дан 23 October 2019 в 03:00

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

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