无法删除可加载的内核模块

Var*_*ári 6 c insmod kernel-module

我正在编写一个可加载的内核模块并尝试测试它.插入后,我试图使用rmmod xxx命令删除它,但我得到一个错误说module xxx is in use,模块卡住,我无法删除它.知道如何在不重启整个机器的情况下移除模块吗?(linux Kernel v.3.5.0)

注意:rmmod -f打印Error: device or resource busy

Ben*_*ber 10

只有当我的驱动程序中存在一个错误导致模块中的代码以某种方式发生恐慌或崩溃时,才会发生这种情况.根据我的经验,一旦发生这种情况,重启是唯一可行的方法

正如我所说的,内核通常会发生恐慌,因此您应该在插入dmesg或运行应用程序之后检查它.我不确定,但如果驱动程序不释放互斥锁,则可能会发生此行为.