Как я мог обнаружить, когда каталог смонтирован с inotify?

С тех пор нет никакой консоли, это <ударяют> невозможный трудный. (Изучайте что-то новое каждый день - я никогда не знал о консольных функциях!)

для Вас действительно ли возможно заменить Ваши выходные вызовы? Я буду часто использовать ТРАССИРОВКУ или OutputDebugString для отправки информации в окно вывода Visual Studio.

9
задан Ricardo 11 July 2009 в 07:39
поделиться

2 ответа

Я не думаю, что вы можете сделать это с помощью inotify . Вот способ:

  1. Прочтите uevents из ядра через сокет Netlink и отфильтруйте те, где "ACTION" не монтируется " ".
  2. Прочтите и проанализируйте " / proc / mounts " , когда вы получите событие с действием " mount ".
  3. Найдите запись для монтирования укажите устройство, которое было только что смонтировано, и отфильтруйте его, если это не тот каталог, который вы просматриваете.
9
ответ дан 4 December 2019 в 12:20
поделиться

РЕДАКТИРОВАТЬ: Обновление должно быть устаревшим менее чем на 5 лет

Если вы используете что-то, кроме самой древней из систем, libudev - это то, что вам нужно для первого шага.

Если вы используете что-то из этого десятилетия, udisks тоже сделают все это за вас. Вам нужно будет посмотреть интерфейс org.Freedesktop.DBus.ObjectManager на / org / freedesktop / UDisks2 , чтобы узнать, когда появятся новые файловые системы .

]
4
ответ дан 4 December 2019 в 12:20
поделиться
Другие вопросы по тегам:

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