Получение UUID usb при извлечении использующий udev

0 вниз фаворит голосования у меня есть сценарий Python для получения включенных деталей usb. Я пользуюсь udev библиотекой для управления подключенными устройствами.

Я хочу получить идентификатор устройства USB-устройства, когда я удаляю его из системы.

Если я удаляю устройство без размонтирования, я получаю идентификатор устройства с помощью device.get ('ID_FS_UUID').

Но Если я удаляю устройство после размонтирования, затем я не получаю идентификационное использование устройства выше кода. Я получаю значение как Ни один.

У меня есть класс наблюдателя монитора udev для обнаружения дополнения и демонтажа USB-устройства.

*от pyudev.glib импортируют GUDevMonitorObserver как MonitorObserver

    def device_event(observer, action, device):
        if action == 'add':
            DeviceListener.deviceAdded(device)
        else:
            DeviceListener.deviceRemoved(device)*

на основе события это назовет соответствующий метод.

def deviceRemoved(device):
print "REMOVED DEVICE IS="+device.get('ID_FS_UUID')

Если я удаляю устройство без размонтирования, я получаю следующий вывод, УДАЛЕННОЕ УСТРОЙСТВО IS=5F96-58D0

Если я размонтировал и удаляю устройство, я получаю следующий вывод, УДАЛЕННОЕ УСТРОЙСТВО IS=None

Помогите мне найти идентификатор устройства во втором случае.

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

1
задан 11 October 2017 в 15:22

1 ответ

AFAIK, не возможно получить такую информацию от живого дерева состояния как SYSFS. Те inf очищены с чистым umount.

Лучший способ ко мне состоит в том, чтобы сохранить копию такой информации о включенных устройствах, затем проверить их, когда устройство отключается.

0
ответ дан 8 December 2019 в 03:49

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

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