我正在尝试以编程方式踩在 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: Module bluetooth is in use。
那么,我如何找出哪些进程正在使用这个模块呢?它似乎不在 /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
,蓝牙模块的引用计数是多少?还,只是为了确保没有其他可能遗漏的依赖项。
按以下顺序弹出模块:
然后尝试
禁用 /etc/modprobe.conf 中的模块或 /etc/modprobe.d/blacklist 下的黑名单然后重新启动呢?
是否有东西映射到 /dev 设备,您可以在上面使用 lsof 吗?
我想你已经尝试过正常的选择......