简介
问题:
umount /dev/sdxx命令时可能会报"device is busy",这个合理的报错可以防止正在使用的设备上的数据丢失。如
1)使用者自己清楚确实发生了错误
2)使用者不在乎数据丢失
3)例如NFS这样的服务dead,那么这个问题怎么处理?
原因分析:
总概: 程序或内核线程访问了分区设备/文件系统
举例:1)终端占用: 卸载设备时某个终端正在占用该设备的挂载路径
2)文件访问: 卸载设备时设备上的某个文件被记事本或者其他程序正在访问
解决办法
1、强制卸载
umount -f /dev/sdc2 //-f选项会立即卸载分区,在suse试过并不好用
2、查杀进程
lsof /mnt/data查找进程,再kill或kill -9杀掉进程 (假设/mnt/data是挂载点)
fuser /mnt/data查找进程,再kill进程 (fuser的 -k 参数可以在查找进程的同时杀掉该进程)