Добавление событий в очередь событий UDEV

Вы были близки. Если вам нужна вся строка:

iptables -S | grep -- "-P" | grep -E "ACCEPT|DROP|REJECT"

Вывод

-P INPUT ACCEPT
-P OUTPUT DROP
-P FORWARD REJECT

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

iptables -S | grep -- "-P" | grep -oE "ACCEPT|DROP|REJECT"

Вывод

ACCEPT
DROP
REJECT
3
10.01.2019, 21:54
1 ответ

Похоже, что вы ищете ueventпсевдофайл -в файловой системе /syssysfs.

Записывая команды в этот файл (, например "remove"), ядро ​​будет пересылать их обработчику событий устройства в пользовательском пространстве, которым является udevd.

Таким образом, выполнение эквивалента следующего фрагмента (с использованием оболочки для примера )должно сделать то, что вы хотите, запросив удаление udev устройства /dev/sda1:

# echo -n "remove" >/sys/class/block/sda1/uevent

Вы можете использовать API-интерфейсы libudev (, например, udev _устройство _get _syspath (3 ), чтобы помочь вам найти правильный путь sysfs для данного устройства..

Вы можете найти некоторую документацию со стороны ядра в разделе kobject .

Вы также найдете некоторые упоминания о "uevents" в документации udev, например, "systemd -udevd прослушивает uevents ядра" из справочной страницы udevd .

Но похоже, нигде нет много документации по ueventпсевдо-файлу sysfs...

1
27.01.2020, 21:29

Теги

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