頑固なモジュールの削除


6

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

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

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

ゼロを返しますので、デーモンがなくなったことを知っています。

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

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

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

ただし、依存関係が単純になるように先頭から始めても、FATAL:Module bluetooth is in useを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

回答:


4

を実行するlsmodと、bluetoothモジュールの参照カウントはどうなりますか?また、

lsmod | grep "bluetooth"

逃した可能性のある他の依存関係がないことを確認するだけです。


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

rmmod bnep
rmmod hidp
rmmod rfcomm
rmmod l2cap

それから試して

rmmod bluetooth
lsmod

何かが夢中になっていますが、を知る方法がわかりません。それはあまりUnix-yではありません。答えはわかりませんが、システムがどこかにそれを公開することを期待しています。#lsmod | 82241 0 HIDP 83521 0 RFCOMM 104809 0 L2CAP 89281 5 BNEP、HIDP、RFCOMMのBluetooth 118597 4 BNEP、HIDP、RFCOMM、L2CAP BNEPのegrep '(ブルートゥースBNEP | HIDP | RFCOMM | | L2CAP')
pboin

1
え?うまくいきました。lmmodのマニュアルページで、「lmmod」ではなく「modprobe -r」を使用していました。「ほとんどのユーザーは、-rオプションを指定してmod-probe(8)を代わりに使用したいと思うでしょう」と述べています。1つが機能し、もう1つが機能しなかった理由がわかりません。私を助けるために時間を割いていただき、ありがとうございます...
pboin

1
rmmodは常にモジュールを削除するためのものでした。modprobeの元の機能は、モジュールが必要かどうかを判断し、必要であればロードすることでした(2.0日から)
Avery Payne

とにかく、助けてうれしい。
エイブリーペイン

2

/etc/modprobe.conf内のモジュールを無効にするか、/ etc / modprobe.d / blacklistの下にあるリストをブラックにしてから再起動するだけではどうでしょうか。

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

すでに通常のオプションを試していると思います...

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.