MOH*_*MED 5 c linux kernel-module linux-kernel
我对linux中的/ sys/module /有一些疑问
1)/ sys/module是否包含内核的所有模块
2)/ sys/module/xxx /参数是否包含内核模块xxxx的所有参数
3)/ sys/module/xxx/parameters/yyyy是否包含内核模块xxxx的参数yyyy的实时值
4)如果在给定内核模块中更改参数,如何在RealTime中检测此更改?我想开发一个C应用程序(用户空间)或shell脚本,它实时检测给定内核模块参数的变化.
1)是的,/ sys/module确实拥有所有模块.
2)不,/ sys/module/xxx/parameters只有模块要导出的参数,也就是说如果你想从模块中导出一些内核模块参数,你应该使用:
module_param(test, bool, 0600);
Run Code Online (Sandbox Code Playgroud)
其中最后一个参数是非零,这意味着文件"/ sys/module/xxx/parameters/test"的权限.
3)不,内核模块参数的值几乎是静态的,很少被其他地方改变.
4)您的内核模块应通知用户空间应用程序.
参数是输入值而不是状态值。参数接收者启动后,您将无法更改参数。
如果你想在运行时改变内核的行为,你必须使用/proc/sys。请参阅此处:http://tournasdimitrios1.wordpress.com/2011/02/07/passing-parameters-to-the-kernel-at-run-time-time-on-linux/
| 归档时间: |
|
| 查看次数: |
7987 次 |
| 最近记录: |