2011-12-16 2 views
2

Я использую libudev для наблюдения за устройствами хранения (ключи USB и т. Д.), Так что когда они меняются, я получаю уведомление в своей программе. Libudev сообщает вам, было ли добавлено, удалено и т. Д. Устройство, и вы получаете узел устройства. Например, если я добавлю SD-карту в свою систему, libudev скажет мне, что «/ dev/mmcblk0p1» был добавлен. Когда это произойдет, я хочу получить точку монтирования устройства. Поэтому я проверяю/proc/mounts, чтобы узнать, к какому пути монтируется устройство.Получение информации о смонтированных дисках в Linux с libudev

Хотя это, похоже, работает нормально, я не уверен, что либвуд посылает мне сигнал о том, что устройство было добавлено до того, как оно смонтирует устройство, после того, как оно смонтирует устройство или где-то посередине (что означало бы, что я проверяю файл/proc/mounts сразу после получения сигнала является ненадежным методом).

Итак, мой вопрос - кто-нибудь знает, когда libudev отправляет сигнал, и является ли метод, который я использую для получения пути монтирования устройства, надежным?

Если это не так, есть ли другой способ получить путь монтирования, если узел устройства надежен?

С уважением,

Прис

ответ

0

вы хотите просто получить путь монтирования ли? или вы хотите подключить это устройство хранения к определенной точке монтирования? Если вы хотите подключить запоминающее устройство к определенному пути, вам не нужно ловить сигнал. Вы можете определить правила для определенных устройств. Эти правила можно определить в файле etc/udev/rules.d.

Для получения дополнительной информации вы можете проверить http://www.reactivated.net/writing_udev_rules.html.

+0

Я ищу путь монтирования. Моя программа предполагает, что любой настольный менеджер используется для автоматического монтирования устройств хранения. – Prismatic

1

Я не могу дать гарантию, но я делаю что-то очень похожее и, похоже, работает для меня тоже. Я слушаю события добавления блоков/дисков, нахожу соответствующие устройства блоков/разделов, а затем разбирает/proc/mounts ищет узел dev.

Смежные вопросы