2012-01-27 11 views
13

Kiedy próbuję rmmod modułu otrzymuję komunikat o błędzie "Błąd: moduł w użyciu", lsmod | grep pokazuje liczbę. Czy istnieje sposób, który powie mi, które procesy używają tego konkretnego modułu/sterownika jądra? DziękiJak znaleźć listę procesów za pomocą konkretnego modułu jądra?

+0

prawdopodobny duplikat [Czy istnieje sposób, aby dowiedzieć się, co jest za pomocą modułu jądra Linux?] (Http://stackoverflow.com/questions/448999/is-there-a-way-to-figure-out- what-using-a-linux-kernel-module). –

Odpowiedz

5

This was asked before, ale nie było wielkiej odpowiedzi, prawdopodobnie dlatego, że nie ma dobrego sposobu, aby znaleźć to, co jest za pomocą czego.

Najlepsza sugestia to dmesg i poszukaj jakiejkolwiek wskazówki, co załadował moduł.

Możesz także spróbować użyć parametru --force do rmmod na wypadek, gdyby twoje jądro zostało zbudowane z jego obsługą.

+2

Pamiętaj, że użycie 'rmmod --force' może spowodować, że system stanie się niezdefiniowany, szczególnie jeśli moduł jest rzeczywiście używany. Nie polecałbym tego używać, chyba że tylko w ostateczności. – Eugene

+3

Oprócz 'dmesg', polecenie' lsof' ("lista otwartych plików") wymienione w [odpowiedź] (http://stackoverflow.com/a/449179/689077) na wymienione pytanie może być nadal pomocne w niektórych przypadkach. przypadki. Zwłaszcza jeśli chodzi o moduły i moduły systemu plików, które stworzyły urządzenia znakowe itp. Może pomóc dowiedzieć się, który proces otworzył pliki obsługiwane przez moduł i utrzymuje je otwarte. – Eugene