我试图在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
返回致命错误:模块蓝牙正在使用中 。
那么,如何找出使用这个模块的过程呢? 它似乎不在/ 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,hidp,rfcomm,l2cap
当你做一个lsmod
,蓝牙模块的引用计数是多less? 也,
lsmod | grep "bluetooth"
只是为了确保没有可能错过的其他依赖关系。
按以下顺序popup模块:
rmmod bnep rmmod hidp rmmod rfcomm rmmod l2cap
然后尝试
rmmod bluetooth lsmod
那么在/etc/modprobe.conf中禁用模块或者在/etc/modprobe.d/blacklist下列出黑名单,然后重新启动呢?
有东西映射到/ dev设备,你可以使用lsof?
我想你已经尝试了正常的select…