我希望通过C代码获取内核模块列表,并在之后打印它们的版本号。
从脚本中实现很简单:
cat /proc/modules
lsmod
之后,运行所有找到的驱动程序:
modinfo driver_name
从C代码中,我可以打开/proc/modules
并分析其中的数据,但是是否有更简单的方法读取这个驱动程序列表?
我希望通过C代码获取内核模块列表,并在之后打印它们的版本号。
从脚本中实现很简单:
cat /proc/modules
lsmod
之后,运行所有找到的驱动程序:
modinfo driver_name
从C代码中,我可以打开/proc/modules
并分析其中的数据,但是是否有更简单的方法读取这个驱动程序列表?
从C代码中,我可以打开/proc/modules并分析其中的数据,但是否有更简单的方法来读取这个驱动程序列表?
这取决于您对简单的定义。在Unix领域,一切都是文件的概念确实使某些事情变得更简单,因为:
int fd = open("/proc/modules" | O_RDONLY);
while ( read(fd, &buffer, BUFFER_LIMIT) )
{
// parse buffer
}
close(fd);
module.c
和module.h
文件中找到一些有用的API函数。 - Breakthrough/proc
或/sys
在许多情况下是官方的方法。 - user1686