装载和卸载模块
--------------------------------------------------------------------------------
1. insmod
insmod用来将模块装入内核,例如:
# insmod hello.ko /* 此命令将hello.ko模块装入内核 */
2. modprobe
modprobe也用来将模块装入内核。它和insmod的区别在于,它会考虑要装载的模块是否引用
了一些当前内核不存在的符号,如果有这类引用,modprobe会在当前模块搜索路径中查找定
义了这些符号的其他模块。如果modprobe找到了这些模块(即要装载的模块所依赖的模块),
它会同时将这些模块装载到内核。如果在这种情况下使用insmod,则该命令会失败,并在系
统日志文件中记录“unresolved symbols”消息。
3. rmmod
rmmod用来从内核中移除模块。注意,如果内核认为模块仍然在使用状态,或者内核被配置为
禁止移除模块,则无法移除该模块。配置内核使内核在模块忙的时候仍能“强制”移除模块
也是可以的。
4. lsmod
lsmod列出当前装载到内核中的所有模块,还提供了一些其他信息,比如其他模块是不是在使
用某个特定模块等。lsmod通过读取/proc/modules虚拟文件来获得这些信息。有关当前已加
载模块的信息也可以在sysfs虚拟文件系统的/sys/module下找到。
阅读(7553) | 评论(0) | 转发(0) |