В Linux мне нужно получить подробную информацию (то есть код выхода службы, статус, тип и т. Д.) Всех модулей драйвера, и я попытался прочитать /proc/modules
, Но это дает только имя, размер и количество использования. Я прочитал это modinfo
извлекает информацию из lib/modules/
, но не все модули содержат всю информацию. Откуда я могу получить эти данные надежно. Я кодирую в C++
,
Модули ядра обрабатываются struct module
. Вы можете написать модуль, чтобы получить эту информацию из ядра (и предоставить ее в другом /proc
файл) или использовать отладчик для чтения сырой памяти ядра из /proc/kcore
,
Но информация, которую Linux хранит для каждого модуля, не соответствует вашим потребностям:
init_module()
вызывающий как номер ошибки (т.е. modprobe
или же insmod
инструменты)state
, но он переходный и используется только при загрузкеВообще говоря, вы не можете получить эти детали от Linux. Самая полезная информация уже предоставлена в /proc/modules
,