阅读:1815回复:6
如何使用rmmod?
自己写的模块倒是安装上了,可是卸载时,./rmmod后面应该跟什么样的东西,比如我的模块是test.o。那么模块安装后,是被放在哪里了?直接运行./rmmod test.o肯定是有问题的,我该如何做呢?
|
|
沙发#
发布于:2002-12-19 09:29
那如果使用数不为0,我怎么才能知道还有哪些应用程序在使用Driver呢?怎样才能rmmod呢?谢谢!
|
|
|
板凳#
发布于:2002-12-17 08:59
如果你在御载模块时,程序中有printk的话,可在log/messages下看到打印的信息。insmod后,模块作为了内核的一部分,同时通知内核可以调用自己哪些函数,并不是把所有的程序文件载入内存(换句话说,你只需这时把它看作内核就行了)。御载时,通知内核不能再调用这些程序了,同时御载模块。
|
|
地板#
发布于:2002-12-14 17:46
是“使用计数”,楼上的打字打错了,当高层的应用程序调用模块时,内核会把对模块的使用计数加1,在应用程序调用close关闭对模块的调用时减1,只有当使用计数为0时,才能rmmod掉。insmod就是把模块装载到内存里阿,不用的话应该也在内存里吧,这点跟加载应用程序好像有点不一样
|
|
地下室#
发布于:2002-12-12 10:08
多谢回答,不过什么叫“用数”?
另外,凡是用insmod加载的模块都是运行在内存里面吗?好像不对吧。我觉得加载后的模块只是作为内核的一部分,在用的时候,它才会被载入内存,我这样理解不知道对不对? |
|
5楼#
发布于:2002-12-11 19:01
自己写的模块倒是安装上了,可是卸载时,./rmmod后面应该跟什么样的东西,比如我的模块是test.o。那么模块安装后,是被放在哪里了?直接运行./rmmod test.o肯定是有问题的,我该如何做呢? rmmod test 模块安装完之后当然被加载在内存咯 lsmod可以看出来 还有就是/proc/modules记得是叫这个名字的文件 查它可以看到系统装在的所有模块 不过当然 如果模块有被使用 是用数不是1 则rmmod只会将是用数-1的 自己写的模块有时候不注意 容易造成模块始终busy 没有办法卸载 |
|
6楼#
发布于:2002-12-11 17:38
rmmod xxx(xxx为驱程的名字,不带.o)
|
|