在本教程中,我们将学习如何在 Linux 中使用 fuser 命令。 Linux 有很多进程管理工具,fuser 提供了一些不同的东西。 Fuser 允许您使用特定文件、目录或套接字查找进程。 使用 fuser,您可以终止和管理这些进程。
fuser 命令的一般语法
要运行 fuser 命令,我们将需要我们正在寻找进程的文件或套接字的详细信息。 这是一般的语法 定影器命令:
fuser [options] [file|directory|socket]
有一个您可以使用的选项列表。 您可以使用 --help
或者 -h
选项。
fuser -h
使用目录列出所有进程
因此,让我们尝试运行我们的第一个 fuser 命令并检查所有进程都在使用我们的主目录。 因为在这里我已经在主目录中,所以我将简单地使用以下命令运行命令 .
作为我的目录名。
fuser .
此命令列出当前使用 home 目录的所有进程的 PID。 当我在我的机器上运行它时,我看到的是:
我们在这里看到的输出不是那么可读。 为了获得更详细的输出,我们使用 -v
选项。
fuser -v .
这列出了运行该进程的用户、进程 ID、访问类型和执行该进程的命令。 您可以通过查看 fuser 的手册页(通过运行 man fuser
)。 以下是有关所有访问类型的详细信息:
使用文件列出所有进程
这与使用目录查找进程非常相似。 只需运行命令 fuser -v [filename]
. 在这里,我正在使用 bin 目录中的可执行文件检查进程。
使用套接字列出所有进程
要使用套接字查找处理器,我们需要将命名空间更改为 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 ./
您还可以通过添加 -SIGNAL
选项作为终止进程的参数。 您可以通过运行来检查信号列表 fuser -l
.
要发送任何信号,您需要运行以下命令 fuser -k -SIGNAL
其中“SIGNAL”是您需要发送的信号的名称。 在以下命令中,我发送 ILL
使用主目录向所有进程发送信号。
fuser -k -ILL .
结论
我希望在阅读本文后,您将能够使用 fuser 实用程序来管理和监控进程。 您还可以查看有关其他进程管理工具(如 top、htop、ps 和 pstree)的教程。 感谢您阅读这篇文章! 祝您有美好的一天! 干杯!