当前位置: 首页 > news >正文

Linux下的fuser用法简析

fuser 用法简析

【功能】

fuser 可以显⽰出当前哪个程序在使⽤磁盘上的某个⽂件、挂载点、甚⾄⽹络端口,并给出程序进程的详细信息.

【描述】

fuser显⽰使⽤指定⽂件或者⽂件系统的进程ID.默认情况下每个⽂件名后⾯跟一个字母表示访问类型。
访问类型如下:
c 代表当前目录
e 可执⾏的被运行
f 打开的⽂件。默认不显示。
F 打开的⽂件,⽤于写操作。默认不显示。
r 根⽬录。
m 映射⽂件或者共享库。
当指定的⽂件没有被访问,或者出现错误的时候,fuser会返回⾮零。
为了查看使⽤tcp和udp套接字的进程,需要-n选项并指定名称空间。默认IpV4和IpV6都会 显⽰。套接字可以是本地的或者是远程的端⼜,和远程的地址。所有的域是可选的,但是其前⾯的’,'必须存在。
如下:
[lcl_port][,[rmt_host][,[rmt_port]]]
对于ip地址和port,名称和数字表⽰都可以使⽤。
fuser只把PID输出到标准输出,其他的都输出到标准错误输出。

一些常⽤选项:

  • -a 显⽰所有命令⾏中指定的⽂件,默认情况下被访问的⽂件才会被显⽰。
  • -c 和-m一样,⽤于POSIX兼容。
  • -k 杀掉访问⽂件的进程。如果没有指定-signal就会发送SIGKILL信号。
  • -i 杀掉进程之前询问⽤户,如果没有-k这个选项会被忽略。
  • -l 列出所有已知的信号名称。
  • -m name 指定一个挂载⽂件系统上的⽂件或者被挂载的块设备(名称name )。这样所有访问这个⽂件或者⽂件系统的进程都会被列出来。如果指定的是一个目录会自动转换成"name/",并使用所有挂载在那个目录下⾯的⽂件系统。
  • -n space 指定一个不同的命名空间(space).这⾥⽀持不同的空间⽂件(⽂件名,此处默认)、 tcp(本地tcp端⼜口、udp(本地udp端口)。对于端口,可以指定端口号或者名称,如果不会引起歧义那么可以使⽤简单表⽰的形式,例如:name/space (即形如:80/tcp之类的表示)。
  • -s 静默模式,这时候-u,-v会被忽略。 -a不能和-s一起使⽤。
  • -signal 使⽤指定的信号,⽽不是⽤SIGKILL来杀掉进程。可以通过名称或者号码来表⽰ 信号(例如-HUP,-1),这个选项要和-k一起使⽤,否则会被忽略。
  • -u 在每个PID后⾯添加进程拥有者的⽤户名称。
  • -v 详细模式。输出似ps命令的输出,包含PID,USER,COMMAND等许多域,如果是内核访问的那么PID为kernel.
  • -V 输出版本号。
  • -4 使⽤IPV4套接字,不能和-6一起应⽤,只在-n的tcp和udp的命名存在时不被忽略。
  • -6 使⽤IPV6套接字,不能和-4一起应⽤,只在-n的tcp和udp的命名存在时不被忽略。
  • 重置所有的选项,把信号设置为SIGKILL.

【举例】

*显⽰使用某个⽂件的进程信息:
$ fuser -um /dev/sda3
输⼊之后,输出如下:
/dev/sda3: 6378c(quietheart) 6534c(quietheart) 6628(quietheart) 6653c(quietheart) 7429c(quietheart) 7549c(quietheart) 7608c(quietheart)
这个命令在umount的时候很有用,可以找到还有哪些⽤到这个设备了。

*杀掉打开readme文件的程序,在确定之前有提示:
$fuser -m -k -i readme
或$fuser -kmi readme
这⾥,会在kill之前询问是否确定。最好加上-v以便知道将要杀那个进程。

*查看那些程序使用tcp的80端口:
$fuser -n tcp 80
或$fuser -v -n tcp 80
或$fuser -v 80/tcp
这⾥,后两种⽅式显⽰的信息⽐较全,因为有了-v选项。

http://www.lqws.cn/news/207937.html

相关文章:

  • AI整合SEO关键词智能策略
  • MySQL:分区的基本使用
  • 基于算法竞赛的c++编程(21)cin,scanf性能差距和优化
  • 王劲松《人民日报》撰文 重读抗战家书不忘来时路
  • 用电脑通过USB总线连接控制keysight示波器
  • 第22讲、Odoo18 QWeb 模板引擎详解
  • 亚川科技IBMS集成管理平台:构建商业综合体智慧中枢
  • 纳米AI搜索与百度AI搜、豆包的核心差异解析
  • Parameter ‘XXX‘ not found. Available parameters are [list, param1]
  • 手写Promise.all
  • 图卷积网络:从理论到实践
  • JavaScript篇:字母侦探:如何快速统计字符串里谁才是‘主角‘?
  • STM32标准库-输入捕获
  • Faiss vs Milvus 深度对比:向量数据库技术选型指南
  • 《高等数学》(同济大学·第7版)第二章第五节“函数微分“
  • 18-Oracle 23ai JSON二元性颠覆传统
  • SpringAI Alibaba实战文生图
  • git知识点
  • 华为云Flexus+DeepSeek征文|华为云一键部署知识库搜索增强版Dify平台,构建智能聊天助手实战指南
  • day49 python 注意力热图
  • 将单体架构项目拆分成微服务时的两种工程结构
  • Spring Cloud Hystrix熔断机制:构建高可用微服务的利器
  • OkHttp 3.0源码解析:从设计理念到核心实现
  • 向日葵远程控制debian无法进入控制画面的解决方法
  • Git开发实战
  • ELK日志管理框架介绍
  • WPS中将在线链接转为图片
  • JAVA实战开源项目:信息技术知识赛系统 (Vue+SpringBoot) 附源码
  • 一.设计模式的基本概念
  • 八、【ESP32开发全栈指南:UDP客户端】