/ dev内の特定のデバイスにサービスを提供しているカーネルモジュール(lsmodと入力して表示)を確認するにはどうすればよいですか?
つまり、デバイス/ dev/mouse0があり、そのデバイスにサービスを提供するためにインストールされているカーネルモジュールを確認したいとします。それ、どうやったら出来るの?
これを確認する別の方法は、ロードされたカーネルモジュールの一部が/ dev内のデバイスに関連付けられていることです。モジュールが「接続」されているデバイスをどのように見つけるのですか?
2.6カーネルを使用している場合は、通常、/sys
を調べることでこの情報を見つけることができます。
例えば.
$ ls -la /dev/input/mouse1
crw-r----- 1 root root 13, 33 2010-03-08 15:56 /dev/input/mouse1
$ ls -la /sys/class/input/mouse1/device/driver
lrwxrwxrwx 1 root root 0 2010-05-12 23:33 /sys/class/input/mouse1/device/driver -> ../../../../../../bus/usb/drivers/usbhid
したがって、この場合のドライバーはusbhid
です。これを行うためのより良い/より良い方法があるかもしれませんが、sysfsを掘り下げると通常は仕事が終わります。
これがモジュールの検索に役立つかどうかはわかりませんが(必要ですが)、lsof
を使用して、特定のデバイスファイルにアクセスしているものを確認できます。 lsof /dev/mouse0
たとえば、lsofのコマンドラインオプションでさらに多くのことができます
lsof
のその他の使用例 http://wikis.Sun.com/pages/viewpage.action?pageId=49906332