unix - 如何确定特定模块是否加载到 linux 内核中

标签 unix linux-kernel insmod

我只是好奇是否有任何方法可以确定是否加载/安装了特定模块。

$lsmod 列出所有模块(加载的设备驱动程序)。

如果轮询模块名称,是否有任何方法可以检查或返回真/假 bool 输出的命令。例如。如果keyboard.o 存在,则返回true,否则返回false。我需要这个提示来完成我的驱动程序自动刷新程序。

PS:试过modinfo。我在我的测试 DUT 中使用了 busybox 客户端,所以你能提供一些除 modinfo 之外的替代方案吗?

最佳答案

我查找给定模块是否实际加载的捷径:

cat /proc/modules | grep -c nfnetlink
哪个输出
2
2 (二)表示模块已加载。没有 -c 的实际输出使用 MODULENAME - -c 显示所有加载的模块计算包含 MODULENAME 的行。所以如果你有 0 (零)行作为输出,然后模块未加载

关于unix - 如何确定特定模块是否加载到 linux 内核中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9845877/

相关文章:

linux - 运算符(operator)如何使用 "set_fact"和 "when"在 ansible 中运行

c - 在 c 中正确使用 ftw()

c - 传输端点未连接 recv 套接字

linux - insmod lkm.ko 在可加载内核模块中调用 cleanup_module 而不是 init_module

用于生成随机数的字符设备实现

c - 获取文件的绝对路径

c - 正确使用 sysfs_notify_dirent()

linux - 我如何计算出 BPF 辅助函数的返回码的含义?

linux - 更新 GNU/Linux 内核以在每个数据包中发送 n 个 TCP 数据包

c - 使用 insmod "Could not insert module hello_world.ko: Invalid module format"时出错