如何使用 Linux Fuser 命令如何使用 Linux Fuser 命令如何使用 Linux Fuser 命令如何使用 Linux Fuser 命令
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

如何使用 Linux Fuser 命令

介绍

fuser 命令是一个 Linux 实用程序,旨在查找哪个进程正在使用给定的文件、目录或套接字。它还提供有关拥有运行该进程的用户以及访问类型的信息。

如何使用 fuser 实用程序

您可以查看 fuser 手册页以大致了解与 fuser 一起使用的所有选项。你也可以不带任何选项单独运行 fuser 来大致了解 fuser 语法:

  1. fuser
Output
No process specification given Usage: fuser [-fMuv] [-a|-s] [-4|-6] [-c|-m|-n SPACE] [-k [-i] [-SIGNAL]] NAME... fuser -l fuser -V Show which processes use the named files, sockets, or filesystems. -a,--all display unused files too -i,--interactive ask before killing (ignored without -k) -k,--kill kill processes accessing the named file -l,--list-signals list available signal names -m,--mount show all processes using the named filesystems or block device -M,--ismountpoint fulfill request only if NAME is a mount point -n,--namespace SPACE search in this name space (file, udp, or tcp) -s,--silent silent operation -SIGNAL send this signal instead of SIGKILL -u,--user display user IDs -v,--verbose verbose output -w,--writeonly kill only processes with write access -V,--version display version information -4,--ipv4 search IPv4 sockets only -6,--ipv6 search IPv6 sockets only - reset options udp/tcp names: [local_port][,[rmt_host][,[rmt_port]]]

如何查看在目录中运行的进程

fuser 也可以与 -v 选项一起使用,它以详细模式运行该工具。 verbose 选项用于产生更多输出,以便用户可以观察 fuser 正在做什么。在当前目录 . 上运行 fuser,同时包含 -v 选项:

  1. fuser -v .
Output
USER PID ACCESS COMMAND /home/sammy: sammy 17604 ..c.. bash

在这种情况下,在此目录中运行的唯一进程是您现在正在运行命令的交互式 bash shell。

在详细模式下运行时,fuser 实用程序会提供有关 USER、PID、ACCESS 和 的信息进程的命令。 ACCESS 下的 c 字符显示访问类型,在本例中表示当前目录。还有其他访问类型,例如正在运行的可执行文件、根目录、打开的文件以及映射文件或共享库。

如何使用网络套接字查找进程

您可能还需要查找使用 TCP 和 UDP 套接字的进程。为了演示此示例,您将首先使用 nc 在端口 8002 上创建一个 TCP 侦听器,以便您可以观察到一个正在运行的进程:

  1. nc -l -p 8002

只要它正在运行,这就会阻止终端。在另一个终端窗口中,使用 fuser 通过 -n 选项查找在 TCP 端口 8002 上运行的进程:

  1. fuser -v -n tcp 8002
Output
USER PID ACCESS COMMAND 8002/tcp: sammy 17985 F.... nc

注意:默认情况下,fuser 工具将检查 IPv4 和 IPv6 套接字,但您可以使用 -4 和 -6 选项更改此设置分别检查 IPv4 或 IPv6 连接。

此输出显示使用 netcat 的进程的进程 ID (PID) 为 17985,用于启动它的命令为“nc”。进程 ID (PID) 有多种用途,包括停止或终止正在运行的进程。您可以通过阅读如何在 Linux 中使用 ps、kill 和 nice 管理进程来了解有关进程管理的更多信息。您还可以使用 fuser 本身通过使用 -k 标志来终止在特定端口上运行的进程:

  1. fuser -k 8002/tcp
Output
8002/tcp: 18056

如果导航回第一个终端窗口,您会注意到 nc 程序已被终止并返回到 shell。

fuser 实用程序也可用于向进程发送特定信号。当与 -k 选项一起使用时,fuser 命令会向进程发送 KILL 信号。还有许多其他信号可以发送到特定的运行进程。您可以使用 fuser -l 列出这些:

  1. fuser -l
Output
HUP INT QUIT ILL TRAP ABRT BUS FPE KILL USR1 SEGV USR2 PIPE ALRM TERM STKFLT CHLD CONT STOP TSTP TTIN TTOU URG XCPU XFSZ VTALRM PROF WINCH POLL PWR SYS

结论

在本文中,您了解了一些使用 fuser 来监视 Linux 系统上正在使用的端口和目录的示例。 fuser 在您试图了解您的系统上可能正在运行哪些未知进程时特别有用。

接下来,您可能想了解如何使用 netstat 和 du 来监控其他服务器资源。

©2015-2025 艾丽卡 support@alaica.com