2012-01-27 3 views
13

Quando provo a rmmod un modulo, viene visualizzato il messaggio di errore "Errore: modulo in uso", lsmod | grep mostra il conteggio. C'è un modo per dirmi quali processi stanno usando questo particolare modulo/driver del kernel? GrazieCome trovare l'elenco dei processi usando un particolare modulo del kernel?

+0

possibile duplicato di [C'è un modo per capire che cosa sta utilizzando un modulo del kernel Linux?] (Http://stackoverflow.com/questions/448999/is-there-a-way-to-figure-out- che cosa è-using-a-linux-kernel-module) –

risposta

5

This was asked before, ma non c'era una grande risposta, probabilmente perché non esiste un buon modo per ottenere ciò che sta usando ciò che è.

Il miglior suggerimento è dmesg e cercare qualsiasi indicazione su cosa ha caricato il modulo.

Si potrebbe anche provare a utilizzare il parametro --force su rmmod nel caso in cui il kernel sia stato creato con il supporto per esso.

+2

Si noti che l'uso di 'rmmod -force' può lasciare il sistema in uno stato indefinito, specialmente se il modulo viene effettivamente utilizzato. Non consiglierei di usarlo solo come ultima risorsa. – Eugene

+3

Oltre a 'dmesg', il comando' lsof' ("elenco aperto file") menzionato nella [risposta] (http://stackoverflow.com/a/449179/689077) alla domanda menzionata potrebbe ancora essere utile in alcuni casi. Soprattutto quando si tratta di moduli e moduli del filesystem che hanno creato dispositivi di carattere, ecc. Può aiutare a scoprire quale processo ha aperto i file gestiti dal modulo e li tiene aperti. – Eugene