c - 内核模块参数更改(使用/sys/module)

标签 c linux linux-kernel kernel-module

我有一些关于 linux 中的 /sys/module/ 的问题

  1. /sys/module是否包含内核的所有模块

  2. /sys/module/xxx/parameters是否包含内核模块xxxx的所有参数

  3. /sys/module/xxx/parameters/yyyy是否包含内核模块xxxx的参数yyyy的实时值

  4. 如果在给定的内核模块中更改了参数,如何实时检测到此更改?我想开发一个 C 应用程序(用户空间)或一个 shell 脚本来实时检测给定内核模块参数的变化。

最佳答案

1) 是的,/sys/module 确实有所有的模块。

2) 不,/sys/module/xxx/parameters 只有模块要导出的参数,也就是说如果你想从你的模块导出一些内核模块参数,你应该使用:

module_param(test, bool, 0600);

其中最后一个参数非零,表示文件“/sys/module/xxx/parameters/test”的权限。

3) 没有,内核模块参数的值几乎是静态的,很少被其他地方改变。

4) 您的内核模块应通知用户空间应用程序。

关于c - 内核模块参数更改(使用/sys/module),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11031554/

相关文章:

linux - 在 Kubuntu 中安装 VMWare 工具时找不到头文件。知道为什么吗?

c - 将内核内存写入 ext2 block

将十六进制字符串转换为数据

c - 大端到小端转换的优化代码

linux - 找出服务器上触发 bash 文件 (.sh) 的原因

Linux DNS 解析拒绝某些名称

c++ - WaitOnAddress 未解决

c - 是否有任何 c 编译器实现了任何 C1X 功能?

linux - linux内核调度代码中ttwu的完整形式

linux - 为 Wilink8 模块构建内核时出现问题