fuser (Unix)
Unix命令fuser用于显示哪些进程正在使用给定的文件、文件系统或unix套接字。例如,要查看访问USB驱动器的进程ID及其用户:
$ fuser -m -u /mnt/usb1
/mnt/usb1: 1347c(root) 1348c(guido) 1349c(guido)
该命令显示使用指定文件或文件系统进程的进程标识符。在默认的显示模式下,每个文件名后跟一个字母,表示访问类型:
- c
- 当前目录。
- e
- 正在运行的可执行文件。
- f
- 打开的文件。
- F
- 打开的写入文件。
- r
- 根目录。
- m
- mmap的文件或共享库
该命令还可以用来检查哪些进程正在使用网络端口:
$ fuser -v -n tcp 80
USER PID ACCESS COMMAND
80/tcp: root 3067 F.... (root)httpd
apache 3096 F.... (apache)httpd
apache 3097 F.... (apache)httpd
如果没有访问任何文件或发生致命错误,该命令将返回非零代码。如果至少有一次访问成功,则返回零。“fuser”的输出可能有助于诊断尝试卸载文件系统时产生的“资源繁忙”消息。
选项
- -k
- 杀死所有访问文件的进程。例如,fuser -k /path/to/your/filename会杀死所有访问此目录的进程而无需确认。使用-i在操作前进行确认
- -i
- 交互模式。杀死进程前提示
- -v
- 详细模式
- -u
- 显示用户名
- -a
- 显示所有文件
- -m
- name指定已挂载的文件系统或块装置上的文件。列出所有访问该文件系统上文件的进程。如果指定了目录文件,将自动更改为name/.,即是可能挂载在此目录中的任何文件系统。
另外,请注意-k将向进程发送SIGKILL。使用-signal发送不同的信号。有关fuser支持的信号列表,运行“fuser -l”。
相关命令
外部链接
这是一篇与Unix相关的小作品。您可以通过编辑或修订扩充其内容。 |