我想知道是否可以使用目录列表/sys/module
而不是 lsmod 来获取当前加载的模块的列表。
这只是加载模块的列表吗?或者也许与 结合/sys/module/*/initstate
?
答案1
每个加载的模块在 中都有一个条目/sys/module
。但也有一些内核组件的条目/sys/module
未作为模块加载。每个内核组件能被构建为模块在 中有一个条目/sys/module
,无论它是作为模块编译和加载还是作为主内核映像的一部分编译。
lsmod
从 获取已加载模块的列表/proc/modules
。
我认为只有加载的模块initstate
在其/sys/module
目录中才有文件,因此您也可以使用它。
1这是加载的内核的每个组件。内核不知道也不关心硬盘上的文件中可能有哪些模块。内核也不关心在内核映像的同时构建了哪些模块;它可能会显示via,/proc/config
但它不会将该信息用于任何用途。