Linux fuser命令用法

978人浏览   2024-04-09 12:33:23

fuser命令用于查看系统中哪个进程正在使用指定的文件、目录或socket,也可以用来杀死占用指定文件或目录的进程。以下是fuser命令的详细介绍:

语法:

fuser [-cukmMnsv] [-a|-s] [-4|-6] [文件名|目录名|socket文件名]

选项与参数:

-c:使用指定的信号杀死占用指定文件的进程。若不使用-c选项,则fuser仅会显示哪些进程正在使用指定文件。

-u:显示使用指定文件的进程的用户名称。

-k:使用指定的信号杀死占用指定文件的进程。

-m:显示使用指定文件的进程的主机名称。

-M:启用NFS文件锁信息。

-n:不打印改进程开放的文件列表,仅给出进程号。

-s:打印指定文件的信号列表。

-v:使用verbose模式。

-4:使用IPv4地址。

-6:使用IPv6地址。

- a:使用整个系统的文件列表而不是只使用物理的文件。

- s:在fuser命令中指定文件的名称,这个选项是必需的。

示例:

1. 查询某个文件被哪些进程所占用:

fuser <filename>

例如:

fuser /var/log/messages

2. 查询某个目录下所有文件被哪些进程所占用:

fuser -u <directory>

例如:

fuser -u /usr/local/nginx

3. 显示所有已经打开的文件的信息:

fuser -v /dev/sda

4. 杀死某个文件被使用的进程:

fuser -k <filename>

例如:

fuser -k /var/log/messages

5. 强制杀死某个文件被使用的进程:

fuser -k -9 <filename>

例如:

fuser -k -9 /var/log/messages

6. 查询某个端口被哪些进程所占用:

fuser -n tcp <port>

例如:

fuser -n tcp 80

7. 查询某个用户所占用的所有文件:

fuser -u <username>

例如:

fuser -u nginx

总结:

需要注意的是,fuser命令需要root权限才能执行。fuser命令通常用来查找、杀死占用文件或socket的进程。它可以打印进程的PID、用户和主机名,并可以使用指定的信号来杀死进程。fuser命令在定位系统资源问题时非常有用,可以快速识别哪些进程正在使用指定文件。


相关推荐