Linux系统之fuser命令的基本使用

news2024/12/30 0:42:09

Linux系统之fuser命令的基本使用

  • 一、fuser命令介绍
  • 二、fuser命令使用帮助
    • 2.1 help帮助信息
    • 2.1 基本语法
      • ①通用选项
      • ②文件/设备相关选项
      • ③网络相关选项
      • ④进程操作选项
      • ⑤其他选项
  • 三、fuser命令的基本使用
    • 3.1 查找挂载点的进程
    • 3.2 查看指定设备进程信息
    • 3.3 查找监听特定端口的进程
    • 3.4 查找使用特定文件的进程
  • 四、注意事项

在这里插入图片描述

一、fuser命令介绍

fuser 是一个在类 Unix 系统中非常有用的命令行工具,它可以帮助用户找出哪些进程正在使用指定的文件、文件系统或网络端口。这对于需要确定某个资源被哪个进程占用的情况特别有用,比如当你尝试卸载一个挂载点但系统提示设备忙时。对于阻塞特别设备,此命令列出了使用该设备上任何文件的进程。

二、fuser命令使用帮助

2.1 help帮助信息

命令行下的help帮助信息

[root@openEuler-test ~]# fuser --help
fuser: Invalid option --help
Usage: fuser [-fIMuvw] [-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)
  -I,--inode            use always inodes to compare files
  -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
  udp/tcp names: [local_port][,[rmt_host][,[rmt_port]]]

2.1 基本语法

fuser [-<选项>] <文件/目录/端口号>

①通用选项

  • -a, --all: 显示命令行中指定的所有文件,包括那些当前没有被任何进程使用的文件。
  • -s, --silent: 静默模式。如果没有进程使用指定的文件或端口,则不显示任何输出。
  • -u, --user: 在输出中显示每个进程对应的用户名。
  • -v, --verbose: 详细模式。提供更详细的输出信息。
  • -V, --version: 显示 fuser 命令的版本信息。

②文件/设备相关选项

  • -I, --inode: 总是使用 inode 号来比较文件,而不是路径名。
  • -m, --mount: 显示所有正在使用指定挂载点或块设备的进程。
  • -M, --ismountpoint: 只有当指定的名称是一个挂载点时才执行请求。
  • -w, --writeonly: 只杀死具有写权限的进程。

③网络相关选项

  • -n, --namespace SPACE: 指定搜索的名字空间(可以是 fileudptcp)。
  • -4, --ipv4: 仅搜索 IPv4 套接字。
  • -6, --ipv6: 仅搜索 IPv6 套接字。

④进程操作选项

  • -k, --kill: 杀死访问指定文件或端口的所有进程。
  • -i, --interactive: 在杀死进程之前询问用户(只有与 -k 一起使用时有效)。
  • -SIGNAL: 发送这个信号代替默认的 SIGKILL 信号(只有与 -k 一起使用时有效)。

⑤其他选项

  • -l, --list-signals: 列出可用的信号名称。
  • NAME...: 要检查的一个或多个文件名、目录名或网络端口号。

三、fuser命令的基本使用

3.1 查找挂载点的进程

查询当前的文件系统

[root@openEuler-test ~]# df -hT
Filesystem                 Type      Size  Used Avail Use% Mounted on
/dev/mapper/openeuler-root ext4       69G  2.3G   63G   4% /
devtmpfs                   devtmpfs  4.0M     0  4.0M   0% /dev
tmpfs                      tmpfs     3.7G     0  3.7G   0% /dev/shm
tmpfs                      tmpfs     4.0M     0  4.0M   0% /sys/fs/cgroup
tmpfs                      tmpfs     1.5G  8.8M  1.5G   1% /run
tmpfs                      tmpfs     3.7G     0  3.7G   0% /tmp
/dev/mapper/openeuler-home ext4      512G   30M  486G   1% /home
/dev/sda2                  ext4      974M  175M  732M  20% /boot

执行以下命令,这将列出所有正在使用/home 的进程 ID。

[root@openEuler-test ~]# fuser -mv /home
                     USER        PID ACCESS COMMAND
/home:               root     kernel mount /home

3.2 查看指定设备进程信息

查看指定设备上的进程信息,包括进程的用户、进程ID、对设备的访问方式和命令,此处显示了/dev/mapper/openeuler-home设备上正在使用的进程信息。

[root@openEuler-test ~]# fuser -mv /dev/mapper/openeuler-home
                     USER        PID ACCESS COMMAND
/dev/dm-2:           root     kernel mount /home

3.3 查找监听特定端口的进程

显示出所有正在监听 TCP 端口 80 的进程。

[root@openEuler-test ~]# fuser -n tcp 80
80/tcp:               1944 21789 21790 21797

3.4 查找使用特定文件的进程

在当前终端,监控日志文件。

tail -f /var/log/messages

在这里插入图片描述

新建一个终端,执行以下命令,列出所有正在使用/var/log/messages 的进程 ID。

[root@openEuler-test ~]# fuser  -v /var/log/messages
                     USER        PID ACCESS COMMAND
/var/log/messages:   root       1071 F.... rsyslogd
                     root      25183 f.... tail

四、注意事项

  1. 谨慎使用 -k 选项:在使用 -k 杀死进程之前,请确保你了解这些进程的功能及其对系统的影响。
  2. 结合 -i 选项确认操作:使用 -i 选项可以在杀死进程前要求用户确认,以防止误操作。
  3. 仔细检查目标文件或端口:确保指定正确的文件、目录或网络端口号,避免影响不相关的资源。
  4. 理解命令输出:熟悉 fuser 的输出格式,以便正确解读哪些进程正在使用指定的资源。
  5. 利用 -u 查看用户名:使用 -u 选项可以显示每个进程对应的用户名,帮助更好地识别和管理进程。
  6. 选择合适的命名空间:通过 -n 选项选择正确的命名空间(如 file, tcp, udp)来精确查找相关资源。
  7. 注意权限问题:运行 fuser 可能需要足够的权限,特别是在处理系统关键文件或端口时,可能需要 root 权限。
  8. 考虑使用 -s 静默模式:当不需要任何输出信息时,可以使用 -s 选项来静默执行,适用于脚本中自动化处理。
  9. 避免滥用 -k 信号:除非必要,否则不要随意更改默认的 SIGKILL 信号,因为这可能导致进程无法正常关闭。
  10. 测试与验证:在生产环境中使用前,先在测试环境中进行充分测试,以确保命令的行为符合预期。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2248924.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

stable Diffusion官方模型下载

v2-1_768-ema-pruned.safetensors 下载地址&#xff1a; https://huggingface.co/stabilityai/stable-diffusion-2-1/tree/main 下载完成后&#xff0c;放到&#xff1a;E:\AITOOLS\stable-diffusion-webui\models\Stable-diffusion 模型&#xff1a;sd_xl_base_1.0.safetens…

《并查集算法详解及实用模板》

《重生我要成为并查集高手&#x1f354;&#x1f354;&#x1f354;》 并查集&#xff1a;快速查询和快速合并&#xff0c; 路径压缩&#xff0c; 按大小&#xff0c;高度&#xff0c;秩合并。 静态数组实现 &#x1f607;前言 在数据的海洋中&#xff0c;有一种悄然流淌的力量…

群聊前选择患者功能的实现

和普通群聊不同&#xff0c;开启一个图文会话聊天&#xff0c;必须先选择患者、团队、医生。 原来是集成到腾讯IM当中&#xff0c;现在需要单独写一个页面 原来的代码在这里&#xff1a; const handleShow () > {uni.navigateTo({url: /pageB/active-home/active-home})}…

基于边缘智能网关的机房安全监测应用

随着我国工业互联网的扎实推进&#xff0c;越来越多地区积极建设信息基础设施&#xff0c;以充沛算力支撑产业物联网的可持续发展&#xff0c;数据机房就是其中的典型代表。而且随着机房规模的扩大&#xff0c;对于机房的安全管理难题挑战也日益增加。 面向数据机房安全监测与管…

unity 使用UI上的数字按钮,给text添加数字,并且显示光标,删除光标前数字,

今天有个需求&#xff0c;输入身份证&#xff0c;但是不用键盘&#xff0c;要点击按钮输入数字&#xff0c;并且可以控制光标&#xff0c; 1、数字按钮&#xff1a;点击后text添加数字内容 2、删除按钮&#xff1a;删除光标前的一个字符 3、左箭头&#xff1a;移动光标向左移动…

C++设计模式(单例模式)

一、介绍 1.动机 在软件系统中&#xff0c;经常有这样一些特殊的类&#xff0c;必须保证它们在系统中只存在一个实例&#xff0c;才能确保它们的逻辑正确性、以及良好的效率。 如何绕过常规的构造器&#xff0c;提供一种机制来保证一个类只有一个实例? 这应该是类设计者的…

Could not locate device support files.

报错信息&#xff1a;Failure Reason: The device may be running a version of iOS (13.6.1 17G80) that is not supported by this version of Xcode.[missing string: 869a8e318f07f3e2f42e11d435502286094f76de] 问题&#xff1a;xcode15升级到xcode16之后&#xff0c;13.…

【Webgl_glslThreejs】制作流水效果/毛玻璃效果材质

效果预览 shadertory源码 source&#xff1a; https://www.shadertoy.com/view/lldyDs 材质代码 import { DoubleSide, ShaderChunk, ShaderMaterial, TextureLoader } from "three"; /** * * source https://www.shadertoy.com/view/lldyDs */export default fu…

海康VsionMaster学习笔记(学习工具+思路)

一、前言 VisionMaster算法平台集成机器视觉多种算法组件&#xff0c;适用多种应用场景&#xff0c;可快速组合算法&#xff0c;实现对工件或被测物的查找测量与缺陷检测等。VM算法平台依托海康威视在图像领域多年的技术积淀&#xff0c;自带强大的视觉分析工具库&#xff0c;可…

XML JSON

XML 与 JSON 结构 XML&#xff08;eXtensible Markup Language&#xff09; 1. 定义 XML 是一种标记语言&#xff0c;用于描述数据的结构和内容。主要用于数据存储与交换。 2. 特点 可扩展性&#xff1a;用户可以自定义标签。层次化结构&#xff1a;数据以树形结构组织&…

[VSCode] vscode下载安装及安装中文插件详解(附下载文件)

前言 vscode 链接&#xff1a;https://pan.quark.cn/s/3acbb8aed758 提取码&#xff1a;dSyt VSCode 是一款由微软开发且跨平台的免费源代码编辑器&#xff1b;该软件支持语法高亮、代码自动补全、代码重构、查看定义功能&#xff0c;并且内置了命令行工具和Git版本控制系统。 …

wireshark基础

免责声明&#xff1a; 笔记的只是方便各位师傅学习知识&#xff0c;以下代码、网站只涉及学习内容&#xff0c;其他的都与本人无关&#xff0c;切莫逾越法律红线&#xff0c;否则后果自负。 泷羽sec官网&#xff1a;https://longyusec.com/ 泷羽sec B站地址&#xff1a;https:/…

李宏毅LLM探索(1)

1引入 1.1 提问&#xff1a;请列出你能做的事情&#xff0c;至少三十项&#xff0c;每一项都简单扼要:然后把你能做的事情制成文字云 文心一言生成&#xff1a; 以下是我能做的至少三十项事情&#xff0c;每一项都简单扼要地列出&#xff1a;回答问题 提供信息 生成文本 理解…

磁盘文件系统问题排查

1. ext4磁盘结构 块组&#xff1a;超级块&#xff1a;块位图&#xff1a;inode位图&#xff1a;inode表&#xff1a;空闲inode表&#xff1a;空闲块表&#xff1a;2. 块组结构 Group 0: (Blocks 0-32767) csum 0xfd42 [ITABLE_ZEROED]Primary superblock at 0, Group descript…

百度雪花算法id默认配置过期注意更新配置

百度雪花id项目地址&#xff1a;GitHub - baidu/uid-generator: UniqueID generator 默认配置根据redme看容易看迷糊&#xff0c;图和配置它压根就不是对应的 默认的配置如下 <!-- Specified bits & epoch as your demand. No specified the default value will be us…

(11)(2.2) BLHeli32 and BLHeli_S ESCs(二)

文章目录 前言 1 传递支持 前言 BLHeli 固件和配置应用程序的开发是为了允许配置 ESC 并提供额外功能。带有此固件的 ESC 允许配置定时、电机方向、LED、电机驱动频率等。在尝试使用 BLHeli 之前&#xff0c;请按照 DShot 设置说明进行操作(DShot setup instructions)。 1 传…

【初阶数据结构和算法】初识树与二叉树的概念以及堆和完全二叉树之间的关系

文章目录 一、树的概念与结构1.树的概念2.树的相关术语3.树的表示4.树形结构实际运用举例 二、二叉树的概念及特殊二叉树1.二叉树的概念2.特殊的二叉树满二叉树完全二叉树二叉树的性质(由满二叉树特点推导) 三、二叉树的存储结构1.二叉树的顺序结构2.二叉树的链式结构 四、堆和…

如何在Canvas中添加背景图片、图片元素和文字元素

Canvas是HTML5中一个强大的元素&#xff0c;它允许我们在网页上进行图形绘制。在本文中&#xff0c;我们将学习如何在Canvas中添加背景图片、图片元素以及文字元素。 创建Canvas元素 首先&#xff0c;我们需要在HTML文档中创建一个<canvas>元素。以下是创建一个500x500像…

单点登录深入详解之设计方案总结

基于cookie的单点登录解决方案 概述 用户登录之后 , 将认证信息存储至 Cookie &#xff0c;当再次访问本服务或者访问其他应用服务时&#xff0c;直接从 Cookie 中传递认证信息&#xff0c;进行鉴权处理。 问题 1. 如何保障Cookie内用户认证信息的安全性? 第一, Cookie…

深入探讨 Redis 持久化机制:原理、配置与优化策略

文章目录 一、引言二、Redis持久化概述三、RDB&#xff08;Redis DataBase&#xff09;持久化1、RDB概念与工作原理2、RDB的配置选项3、RDB优化配置项4、RDB的优势与劣势 三、AOF&#xff08;Append-Only File&#xff09;持久化1、AOF概念与工作原理2、AOF的三种写回策略3、Re…