用umount取消挂载时报错设备繁忙:device is busy。原因是还有进程在打开目录下的文件,可以先杀死进程,再卸载,或者强制卸载
umount
使用umount强制卸载,参数如下:
- -l --lazy,立即断开文件系统,所有清理后面执行。实际上就是延迟卸载,该挂载已从文件系统名称空间中删除,但它仍然安装,因为访问它的程序依然可以访问它;当最后一个访问程序结束时,将执行实际卸载
- -a 卸载/etc/mtab中记录的所有文件系统
- -O 限制文件系统集合(和-a选项一起使用)
- -A --all-targets,卸载当前名字空间内指定设备对应的所有挂载点
- -c --no-canonicalize,不对路径规范化
- -d 若卸载了回环设备,也释放该回环设备
- -f 强制卸载(遇到不响应的NFS系统时)
- -h 显示帮助
- -n 卸载时不要将信息存入/etc/mtab文件中
- -r 若无法卸载成功,则尝试以只读方式重新挂入文件系统
- -t 限制文件系统集合,文件系统类型:仅卸载选项中所指定的文件系统
- -v 执行时显示详细的信息
- -V 显示版本信息
- -R 递归卸载目录以及其子目录
lsof
使用 lsof /home/videorec/sharedir/
- -a 列出打开文件存在的进程
- -c <进程名> 列出指定进程所打开的文件
- -g 列出GID号进程详情
- -d <文件号> 列出占用该文件号的进程
- +d <目录> 列出目录下被打开的文件
- +D <目录> 递归列出目录下被打开的文件
- -n <目录> 列出使用NFS的文件
- -i <条件> 列出符合条件的进程
- -p <进程号> 列出指定进程号所打开的文件
- -u 列出UID号进程详情
- -h 显示帮助信息
- -v 显示版本信息
fuser
使用 fuser -kmv /home/videorec/sharedir/
- -a 显示命令行指定的所有文件
- -k 杀死访问指定文件的所有进程
- -i 杀死进程前需要用户进行确认
- -l 列出所有已知信号名
- -m 指定一个被加载的文件系统或一个被加载的块设备
- -v 显示详细的信息
- -n 选择不同的名称空间
- -u 在每个进程后显示所属的用户名
- -SIGNAL 发送此信号而不是发送一个立即终止的信号
- -w 仅终止具有写访问权限的进程
- -V 显示版本信息
- -4 仅搜索IPv4套接字
- -6 仅搜索IPv6套接字