Linux fuser命令教程及示例

Linux有很多工具来管理进程和网络。但是 fuser 是最流行的工具之一,它将进程和网络管理结合在一个命令中。 fuser 可以根据其目录、文件和网络句柄显示进程。它还可以根据不同的参数来终止这些进程。

莱盛 定影膜适用 惠普HP P1505 P1522 M1120 Canon LASER Shot LBP 3250 加热膜 Fuser Film Sleeve 不锈钢基
官方授权 品质保证 | 月销量1件
优惠价30元
原价¥30

淘口令:

¥AeQqXGmEbat¥
 

语法

fuser [options] [file|socket]

救命

$ fuser -h
Help
救命

使用目录显示进程

在服务器的日常使用中,会有大量的用户和进程。查找有关打开目录的相关进程可能很困难。 fuser 命令提供了根据目录使用情况查找相关进程的功能。在本例中,我们将提供要检查的目录路径 /home/ismail . 最佳使用方法 fuser 具有根权限

$ fuser /home/ismail
Display Processes Using Directory
使用目录显示进程

从输出中我们可以看到一些进程ID被打印出来。PIDs后面还有一些字符。它们用于指定访问类型和有关进程的信息。这就是他们的意思

  • c –当前目录
  • e –Executable正在运行
  • f –打开文件
  • F –打开文件进行写入
  • r –根目录
  • m –mmaped文件或共享库

显示更多信息,如用户和命令

在前面的示例中,我们只列出了PID。但这些信息有时是不够的。我们可能需要更多信息,如用户名和相关命令。要获取用户名和相关命令,需要更详细的输出。详细输出可以用 -v 选项。在这个示例中,我们将在基于列的输出中列出进程的目录访问信息,其中包含用户和命令信息。

$ fuser -v /home/ismail
Display More Information Like User And Command
显示更多信息,如用户和命令

在这个例子中,我们可以看到我们的寻找路径是 /home/ismail 进程id为 2548 哪个是PID bash 带用户的cmomand ismail

使用文件系统显示进程

有关文件系统的进程访问信息可以用 -m 选项。这将产生巨大的产出。

$ fuser -v -m /home/ismail/.bashrc
Display Processes Using File System
使用文件系统显示进程

显示有关TCP和UDP套接字的进程

另一个有用的特性 fuser 命令正在列出TCP和UDP套接字的进程信息。如果我们的apacheweb服务器因为tcp80被另一个我们不知道的进程使用而没有启动,这将非常有用。我们很容易找到这个过程。此外,这个过程可以用一个命令终止,我们将在下面的示例中查看。在这个示例中,我们要列出侦听TCP 22的进程信息。我们需要根权限来获取信息。我们将提供 -n 带的选项 tcp 22 参数

$ fuser -v -n tcp 22
Display Processes About TCP and UDP Sockets
显示有关TCP和UDP套接字的进程

整齐 要与UDP端口一起使用,请查看以下命令。

$ fuser -v -n udp 53

使用指定的TCP套接字终止进程

如前所述,我们可以通过在单个命令中指定TCP或UDP端口或套接字来终止进程。我们将提供 -k 终止相关进程的选项。在这个例子中,我们将杀死所有 ssh 或TCP端口22进程。

$ sudo fuser -k -n tcp 22
Kill Process Using Specified TCP Socket
使用指定的TCP套接字终止进程

我们可以看到,我们已经终止了与服务器的当前ssh连接。

相关文章: 什么是NAT(网络地址转换)及其工作原理?

列出信号

在前面的示例中,我们已经终止了ssh进程。终止进程是通过向进程发送信号来完成的。信号用于与进程通信。要终止进程,发送终止相关信号。也有不同类型的信号可以发送到相关进程。我们可以列出信号 list-signals 选项如下。

$ fuser -list-signals
List Signals
列出信号

用特定信号杀死进程

如前所述,我们可以向我们指定的进程发送特定的信号。在示例中,我们将发送 -HUP 使用以下命令向TCP 22或ssh端口发送信号。

$ sudo fuser -k -HUP -n tcp 22
Kill Process With Specific Signal
用特定信号杀死进程

交互式终止进程

同时在关键服务器中终止进程 我们没有犯错的余地。但是发行 fuser 命令将在没有任何警告的情况下实时执行命令。我们可以通过交互选项以更可控的方式防止错误并杀死相关进程。提供交互式选项 -i

$ sudo fuser -i -k -n tcp 22
Kill Process Interactively
交互式终止进程
© 版权声明
THE END
喜欢就支持一下吧,技术咨询可以联系QQ407933975
点赞0
分享