fuser命令 – 使用文件或文件结构识别进程

fuser命令作用是报告进程使用的文件和网络套接字。

fuser命令可以显示出当前哪个程序在使用磁盘上的某个文件、挂载点、甚至网络端口,并给出程序进程的详细信息。 它还显示使用指定文件或者文件系统的进程ID。

每个进程号后面都跟随一个字母,该字母指示进程如何使用文件。

  • c  :指示进程的工作目录。
  • e  :指示该文件为进程的可执行文件(即进程由该文件拉起)。
  • f  :指示该文件被进程打开,默认情况下f字符不显示。
  • F  :指示该文件被进程打开进行写入,默认情况下F字符不显示。
  • r  :指示该目录为进程的根目录。
  • m  :指示进程使用该文件进行内存映射,抑或该文件为共享库文件,被进程映射进内存。

语法格式: fuser [参数] [文件]

常用参数:

-a显示命令行中指定的所有文件
-k杀死访问指定文件的所有进程
-i杀死进程前需要用户进行确认
-l列出所有已知信号名
-m指定一个被加载的文件系统或一个被加载的块设备
-n选择不同的名称空间
-u在每个进程后显示所属的用户名

参考实例

要列出使用/etc/passwd文件的本地进程的进程号:

[root@linuxcool ~]# fuser /etc/passwd

列出使用/etc/filesystems文件的进程的进程号和用户登录名:

[root@linuxcool ~]# fuser -u /etc/filesystems

终止使用给定文件系统的所有进程:

[root@linuxcool ~]# fuser -k -x -u -c /dev/hd1