fuser 可查占用文件的进程 pid;加 -u 显示用户,加 -v 显示访问方式(如 f 表示读写),加 -m 可查目录或挂载点(如 c 表示工作目录、m 表示内存映射)。

直接运行 fuser 加上文件路径,就能快速看到占用该文件的进程 PID。
基础用法:查 PID 只需一行命令
例如查看谁在用 /var/log/syslog:
fuser /var/log/syslog
输出类似:/var/log/syslog: 1454 1768 1931
这串数字就是正在访问该文件的进程 PID —— 每个数字对应一个活跃进程。
加 -u 查看用户,避免权限误操作
普通用户只能看到自己启动的进程;root 可看到全部。加上 -u 能同时显示所属用户:
fuser -u /var/log/syslog
输出示例:/var/log/syslog: 1454(root) 1768(syslog)
这样一眼可知哪些是系统关键进程(如 syslog),哪些是普通用户进程,便于判断是否可安全处理。
加 -v 看清访问方式,精准识别问题根源
默认只显示 PID,但每个 PID 后面隐含访问类型字母(如 c、e、m)。用 -v 展开后更直观:
fuser -v /var/log/syslog
输出包含 USER、PID、ACCESS、COMMAND 四列:
USER PID ACCESS COMMAND<br> root 1454 f.... rsyslogd
其中
f 表示“以普通方式打开读写”,.... 表示其他模式未激活。这类信息能帮你区分:是日志轮转脚本在写入?还是某个调试进程正 tail -f?
查目录或挂载点,用 -m 选项
卸载 U 盘或清理磁盘前常遇到 “device is busy”,其实是某个进程把该路径当作了工作目录或内存映射位置。此时不能查单个文件,而要用 -m:
fuser -m /mnt/usb
输出中若出现 1234c,说明 PID 1234 的进程当前工作目录就在 /mnt/usb 下;5678m 则表示它把该路径下的某个文件做了内存映射。这两类都必须先切换或退出,才能安全 umount。











