使用fuser解除loop设备占用
SEO#
结束占用磁盘设备的进程
结束读取磁盘无法umount的进程
背景#
在Ubuntu上完全卸载snap后一直残留一个loop device无法移除
# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
loop34 7:34 0 105.8M 1 loop
# udisksctl loop-delete -b /dev/loop34
Error deleting loop device /dev/loop34: GDBus.Error:org.gtk.GDBus.UnmappedGError.Quark._g_2dbd_2dloop_2derror_2dquark.Code1: Error deleting /dev/loop34: Failed to detach the backing file from the /dev/loop34 device: No such device or address
使用losetup -l
显示背后的文件已经删除,且设备为只读状态
# losetup -l
NAME SIZELIMIT OFFSET AUTOCLEAR RO BACK-FILE DIO LOG-SEC
/dev/loop34 0 0 1 1 /var/lib/snapd/snaps/core_16202.snap (deleted) 0 512
使用lsof
查看占用却无法kill -9
# ps aux | grep loop34
root 18578 0.0 0.0 0 0 ? SN 2023 0:31 [loop34]
root 24300 0.0 0.0 17904 1052 pts/0 S+ 14:14 0:00 grep --color=auto loop34
# kill -9 18578
希望删除这个loop device并解除占用
解决#
尝试了一系列方法,最后使用fuser
解决
# fuser -km /dev/loop34
/dev/loop34: 16924e
再运行lsblk
已经看不到占用了
参考#
linux - Can't unmount a loop backed file but there's no open files? - Server Fault
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
2022-01-17 使用std::move(*pointer)有意义吗?