如果内核模块仍在使用中,如何删除它?

如果内核模块仍在使用中,如何删除它?
[rootSERVER ~]# rmmod -f cifs
ERROR: Removing 'cifs': Resource temporarily unavailable
[rootSERVER ~]# modprobe -r cifs
FATAL: Module cifs is in use.
[root@SERVER ~]# lsb_release -a
LSB Version:    :core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-noarch
Distributor ID: Scientific
Description:    Scientific Linux release 6.1 (Carbon)
Release:    6.1
Codename:   Carbon
[root@SERVER ~]# 

我试过

rmmod -fw cifs

但它只是等待了很长时间......(是的,在尝试删除 cifs 模块之前,所有 cifs 共享都是“umount -l”-ed ..)

问题: 我怎样才能删除cifs模块?

答案1

您可以尝试modprobe -r它可以为您解决一些依赖性问题,而除了rmmod尝试卸载模块之外什么也不做。

此外,还有一个关于强制模块卸载的显式内核选项,因为这样做几乎不是一个好主意。您的内核实际上可以强制卸载模块吗?因为如果不能,-f开关就不会执行任何操作。

答案2

您可以停止使用它。即卸载所有 cifs 挂载点。

答案3

/usr/bin/sudo /bin/umount -f -a -t cifs
/usr/bin/sudo /bin/umount -f -l -a -t cifs
sleep 5
/usr/bin/sudo /sbin/modprobe -r -f cifs
pkill nautilus

相关内容