web-dev-qa-db-ja.com

頑固なモジュールの削除

RHEL5のBluetoothをプログラムで踏みつけようとしています。

サービスを停止しました-問題ありません。また、関連するBluetoothパッケージbluez- *のrpm -eにも問題はありません。

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

ゼロを返すので、デーモンがなくなっていることがわかります。

なんらかの理由で、モジュールをアンロードできません。 modprobe -rvは使用中であると言い続けます。

依存関係は次のようになります。

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

ただし、依存関係が単純になるように先頭から始めても、modprobe -rv bluetooth致命的:モジュール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
6
pboin

lsmodを実行する場合、Bluetoothモジュールの参照カウントはいくつですか。また、

lsmod | grep "bluetooth"

見逃された可能性のある他の依存関係がないことを確認するためだけに。


次の順序でモジュールを取り出します。

rmmod bnep
rmmod hidp
rmmod rfcomm
rmmod l2cap

次に、試してください

rmmod bluetooth
lsmod
4
Avery Payne

/etc/modprobe.confのモジュールを無効にするか、/ etc/modprobe.d/blacklistの下のリストを黒くしてから再起動するのはどうですか?

何かが/ devデバイスにマップされ、その上でlsofを使用できますか?

私はあなたがすでに通常のオプションを試したと思います...

2
Kyle Brandt