fuser -v 可直接查出访问指定资源的进程,显示pid、user、access(如cwd/r/w)、command等信息;需sudo权限查全系统进程,路径须准确,挂载点建议加-m,端口可用-n tcp/udp,kernel pid表示内核操作不可kill。

直接用 fuser -v 就能查出哪些进程正在访问指定资源,并附带用户、PID、访问类型和命令等关键信息。它不依赖复杂配置,但权限和路径准确性很关键。
基础用法:查目录或文件的占用详情
对任意本地路径(如 /var/log 或 /mnt/data),运行:
-
fuser -v /path/to/target—— 显示所有访问该路径的进程,包括 PID、USER、ACCESS(如 cwd/r/w)、COMMAND 列 - ACCESS 字段含义需重点看:cwd 表示进程当前工作目录在此;root 表示 chroot 根目录设为此处;mem 表示内存映射了该目录下文件;txt 表示正以可执行文件方式运行
- 若目标是挂载点(如
/mnt/usb),fuser -v会自动列出所有访问该文件系统的所有进程,无需额外加-m
查挂载点或设备时加 -m 更稳妥
当目标是块设备(如 /dev/sdb1)或你希望明确按文件系统维度排查时:
Linux AI 服务器 — 将 Linux 服务器转换为本地 AI 推理集群。使用 systemd、NVIDIA CUDA 实现无头 Linux AI,零 GUI 开销。
-
fuser -v -m /dev/sdb1或fuser -v -m /mnt/backup—— 强制按挂载点逻辑扫描,避免因路径解析偏差漏掉进程 - 输出中若出现
kernel作为 PID,说明是内核级操作(如 NFS 客户端缓存、ext4 日志写入),无法被 kill,需从上层服务入手
查网络端口或硬件设备也适用
fuser -v 不仅限于文件路径,还能查 TCP/UDP 端口、GPU 设备节点等:
- 查 80 端口:
fuser -v -n tcp 80或简写为fuser -v 80/tcp - 查第二块 NVIDIA 显卡:
fuser -v -u /dev/nvidia2(注意需sudo才能看到其他用户进程) - 查声卡或 USB 设备节点(如
/dev/snd/pcmC0D0p)同样有效,只要它是内核暴露的设备文件
权限与常见问题提醒
fuser -v 的结果是否完整,高度依赖执行权限:
- 普通用户运行时,只能看到自己拥有的进程;系统级进程(如
rsyslog占/var/log、systemd-journald占/run/log)不会显示,且可能报 “No such file or directory” —— 这不是路径错,而是权限不足 - 务必用
sudo fuser -v /target才能获得全量视图 - 若仍无输出但资源明显被占(如无法卸载),检查是否启用了
hidepid=2或3(见/proc/sys/fs/proc_hidepid),此时需 root 权限且系统允许才可见










