作者:E4b9a6, 创建:2021-12-29, 字数:983, 已阅:181, 最后更新:2021-12-29
Linux在取消挂载磁盘时经常会提示无法取消挂载
➜ ~ sudo umount /mnt/sda
umount: /mnt/sda: target is busy.
使用“lsof”可以查看具体是什么进程在占用磁盘
➜ ~ sudo lsof /mnt/sda
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
smbd 12583 chancel cwd DIR 8,33 4096 16515073 /mnt/sda/transmission-downloads
smbd 12583 chancel 14r DIR 8,33 4096 16515073 /mnt/sda/transmission-downloads
smbd 12583 chancel 33r REG 8,33 5209156640 16515219 /mnt/sda/transmission-downloads/chancel.ts
可以看到是transmission的下载占用了磁盘,可以选择直接kill杀死进程也可以选择正常的关闭进程
# 方法一
sudo systemctl stop transmission-daemon.service
# 方法二
sudo kill -9 12583
或者使用fuser也可以实现查看进程占用磁盘的信息
➜ sda fuser -mv /mnt/sda
USER PID ACCESS COMMAND
/mnt/sda: root kernel mount /mnt/sda
chancel 1616 ..c.. zsh
使用fuser杀死对应磁盘进程
sda fuser -kv /mnt/sda
Tip:尽量选择合理的关闭进程方式,无论是kill还是fuser都是直接杀死进程,进程数据有丢失的风险