2012-01-27 70 views
13

當我嘗試rmmod模塊時,出現錯誤消息「Error:Module in use」,lsmod | grep顯示計數。有沒有一種方法可以告訴我哪些進程正在使用這個特定的內核模塊/驅動程序? 謝謝如何找到使用特定內核模塊的進程列表?

+0

可能重複的[有沒有辦法找出什麼是使用Linux內核模塊?](http://stackoverflow.com/questions/448999/is-there-a-way-to-figure-out-什麼是使用Linux內核模塊) – 2012-01-27 06:27:10

回答

5

This was asked before,但沒有很好的答案,可能是因爲沒有好的方法來完成找到什麼是使用什麼。

最好的建議是dmesg並尋找什麼加載模塊的指示。

如果您的內核支持它,您也可以嘗試使用--force參數到rmmod

+2

請注意,使用'rmmod --force'可能會使系統處於未定義狀態,特別是在實際使用模塊的情況下。我不會推薦使用它,除非僅作爲最後的手段。 – Eugene 2012-01-28 09:02:10

+3

除了'dmesg'之外,在[answer](http://stackoverflow.com/a/449179/689077)中提到的對上述問題提及的'lsof'(「list open files」)命令在某些情況下仍然有幫助案例。特別是在處理已創建字符設備的文件系統模塊和模塊時,可能有助於找出哪個進程打開了由模塊提供服務的文件並保持打開狀態。 – Eugene 2012-01-28 09:06:15