Зарегистрируйтесь в DeviceManager в Linux - PullRequest
0 голосов
/ 24 сентября 2011

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

Мне нужно реализовать DeviceCache в конкретном проекте, который кэширует все имена устройств.находится в / proc / net / dev.Язык - C / ++

Так что я подумал об отдельном потоке, просматривающем каждые X секунд в каталоге, упомянутом выше, но мне было предложено найти более прямой путь.Как я могу зарегистрировать метод моего процесса в диспетчере устройств linux?Есть ли такой же способ, как события / сигналы?

Я посмотрел на других сайтах, но не смог найти никакого полезного кода ... Я относительно новичок в Linux-программировании, но готов изучать новые вещи:)

1 Ответ

1 голос
/ 24 сентября 2011

Исходя из ваших комментариев, вы действительно хотите, чтобы отслеживать, какие сетевые интерфейсы работают в любой момент времени.

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

Однако, если вы просто хотите узнать, выходит ли носитель из строя (т. Е. Сетевой кабель отключен), взгляните на следующие вопросы:

Если вы просто хотите получать уведомления о фактической регистрации интерфейсов на аппаратном уровне (например, при подключении сетевого адаптера USB), вы можете использовать события udev, если на вашей платформе есть udev; в противном случае, я полагаю, есть еще одна категория netlink для событий добавления / удаления оборудования.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...