LINUX.ORG.RU

подскажите как можно выполнить условие


0

3

нужно чтоб в линуксе при вытаскивании флешки (с определённым серийником) машина шла в reboot.. создав новое правило в udev:

BUS==«usb», ACTION==«remove», RUN+=«/sbin/reboot» - выполняется (вытаскивая любую флеш комп перегружается).

BUS==«usb», ATTR{serial}==«*********», ACTION==«remove», RUN+=«/sbin/reboot» - не выполняется.

подскажите почему не выполняется ATTR{}. как можно по другому выполнить условие?


Ответ на: комментарий от x_rayz

То есть, оно совсем-совсем не выполняется? А если заменить ребут на что-то отладочное? Вывод в терминал или файл, например.

jessey
()

а точно есть такой атрибут?

anonymous
()

Присоединюсь к вопросу. Если оставить это (вроде как надо именно ATTR_S_ использовать):

ATTRS{serial}=="*********", RUN+="что-нибудь"
то правило почему-то выполняется только при подключении (вместо serial пробовал product — то же самое).­ Может ли такое быть, что на момент выполнения правила эти атрибуты уже недоступны?

Atragor
()

сделай:

$ udevadm monitor --property --udev
потом вынимай флешку, и выкладывай все, что намониторила команда

anonymous
()

BUS==«usb», ACTION==«remove», RUN+=«/sbin/reboot» - выполняется (вытаскивая любую флеш комп перегружается).

А нельзя заменить в этом варианте /sbin/reboot на свой скрипт, который уже и будет проверять серийник флешки и выполнять перезагрузку при необходимости?

kss ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.