Linux 中的 fuser 命令——进程管理工具

在本教程中,我们将学习如何在 Linux 中使用 fuser 命令。 Linux 有很多进程管理工具,fuser 提供了一些不同的东西。 Fuser 允许您使用特定文件、目录或套接字查找进程。 使用 fuser,您可以终止和管理这些进程。

fuser 命令的一般语法

要运行 fuser 命令,我们将需要我们正在寻找进程的文件或套接字的详细信息。 这是一般的语法 定影器命令

fuser [options] [file|directory|socket] 

有一个您可以使用的选项列表。 您可以使用 --help 或者 -h 选项。

fuser -h 
热凝器帮助选项

使用目录列出所有进程

因此,让我们尝试运行我们的第一个 fuser 命令并检查所有进程都在使用我们的主目录。 因为在这里我已经在主目录中,所以我将简单地使用以下命令运行命令 . 作为我的目录名。

fuser . 

此命令列出当前使用 home 目录的所有进程的 PID。 当我在我的机器上运行它时,我看到的是:

运行定影器。

我们在这里看到的输出不是那么可读。 为了获得更详细的输出,我们使用 -v 选项。

fuser -v . 
定影V。定影器 -v 。

这列出了运行该进程的用户、进程 ID、访问类型和执行该进程的命令。 您可以通过查看 fuser 的手册页(通过运行 man fuser)。 以下是有关所有访问类型的详细信息:

定影器中的访问类型Fuser 中的访问类型

使用文件列出所有进程

这与使用目录查找进程非常相似。 只需运行命令 fuser -v [filename]. 在这里,我正在使用 bin 目录中的可执行文件检查进程。

对文件使用 Fuser对文件使用 Fuser

使用套接字列出所有进程

要使用套接字查找处理器,我们需要将命名空间更改为 tcp 或 udp(默认设置为文件/目录)。 通用语法是:

fuser -v -n [TCP|UDP] [SOClet] or  fuser -v [SOCKET]/[PORT] 

所以在这里我正在查看使用 TCP 端口的进程。

对插座使用定影器对插座使用定影器

默认情况下,此命令将搜索 IPv4 和 IPv6 套接字的进程。 您可以添加 -4 仅搜索具有 IPv4 套接字的进程的选项和 -6 仅搜索 IPv6 套接字的选项。

您还可以使用名称搜索特定端口,例如运行 fuser -v http/tcp 将显示使用 http socket(80) 的进程。

使用 fuser 命令杀死进程

通过 fuser,您还可以使用文件、目录或套接字杀死进程。 我们需要使用 -k 或杀死选项。

fuser -k ./ 

上面的命令将使用当前目录杀死所有进程。

在这里,如果我们不想杀死所有进程,我们可以使用 -i 选项。 这是交互式选项,它会在杀死任何进程之前提示您。

fuser -ki ./ 
使用 Fuser 终止进程使用 Fuser 终止进程

您还可以通过添加 -SIGNAL 选项作为终止进程的参数。 您可以通过运行来检查信号列表 fuser -l.

信号列表信号列表

要发送任何信号,您需要运行以下命令 fuser -k -SIGNAL 其中“SIGNAL”是您需要发送的信号的名称。 在以下命令中,我发送 ILL 使用主目录向所有进程发送信号。

fuser -k -ILL . 

结论

我希望在阅读本文后,您将能够使用 fuser 实用程序来管理和监控进程。 您还可以查看有关其他进程管理工具(如 top、htop、ps 和 pstree)的教程。 感谢您阅读这篇文章! 祝您有美好的一天! 干杯!