linux – 删除顽固的模块

我正试图在RHEL5上以编程方式踩踏蓝牙.

我已停止服务 – 没问题. rpm -e对于相关的蓝牙套件也没问题,bluez- *.

ps -aef | grep -v grep | egrep -c '(sdpd|hcid)'

返回零,所以我知道守护进程已经消失了.

出于某种原因,我只是无法卸载模块. modprobe -rv一直说它们正在使用中.

依赖关系看起来像这样:

bluetooth -> bnep
          -> l2cap 
                 -> rfcomm
                 -> hidp
          -> rfcomm
          -> hidp

但是,即使从顶部开始以便依赖性很简单,modprobe -rv bluetooth返回FATAL:模块蓝牙正在使用中.

那么,我如何找出使用该模块的进程?它似乎不在/ proc / modules或lsof中.

命令lsof仍显示某些内容.

# lsmod | egrep '(bnep|hidp|rfcomm|l2cap|bluetooth)'
bnep                   82241  0 
hidp                   83521  0 
rfcomm                104809  0 
l2cap                  89281  5 bnep,hidp,rfcomm
bluetooth             118597  4 bnep,rfcomm,l2cap

解决方法

当你做一个lsmod时,蓝牙模块的引用计数是多少?也,
lsmod | grep "bluetooth"

只是为了确保没有可能遗漏的其他依赖项.

按以下顺序弹出模块:

rmmod bnep
rmmod hidp
rmmod rfcomm
rmmod l2cap

然后试试

rmmod bluetooth
lsmod

相关文章

Linux中的ARP防火墙主要用于防御ARP欺骗攻击,其效果取决于多...
insmod和modprobe加-f参数导致Invalid module format错误 这...
将ArchLinux安装到U盘 几个月前入门Arch的时候上网搜了不少安...
1、安装Apache。 1)执行如下命令,安装Apache服务及其扩展包...
一、先说一下用ansible批量采集机器信息的实现办法: 1、先把...
安装配置 1. 安装vsftpd 检查是否安装了vsftpd # rpm -qa | ...