Linux实用命令 lsof命令

1.命令简介

lsof(list open files)用于查看进程打开的文件,是十分方便的系统监测工具。因为 lsof 命令需要访问核心内存和各种系统文件,所以需要root权限才可执行。

在 Linux 中,一切皆文件。通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件,所以lsof不仅可以查看进程打开的普通文件、目录,还可以查看进程监听的端口和socket等相关的信息。进程打开的每一个文件,系统在后台都会为之分配一个文件描述符,无论这个文件的本质如何。该文件描述符为应用程序与基础操作系统之间的交互提供了通用接口,因为应用程序打开的文件描述符列表提供了大量关于应用程序本身的信息,通过lsof能够查看这个列表,对系统监测以及排错很有帮助。

lsof 查看的打开文件可以是:

普通文件
目录
字符或块设备文件
共享库
管道、命名管道
符号链接
网络文件(如 NFS file、网络 socket,Unix 域名 socket)
其它类型的文件,等等

2.命令格式

lsof [OPTIONS] [--] [NAMES]

在没有任何选项的情况下,lsof 列出所有属于活动进程的打开文件。

3.选项说明

-?, -h 显示帮助信息
-a
参数被视为逻辑与 AND,会影响全部的参数
-A A在配置了 AFS 分布式网络文件系统的系统上可用,其 AFS 内核代码是通过动态模块实现的。通过 A 指定备用名称列表文件,在该文件中可以找到动态模块的内核地址
-b避免 lsof 因调用可能阻塞的内核函数而产生阻塞,比如 lstat(2)、readlink(2) 和 stat(2) 等内核函数
-c C显示出以字符或字符串 C 开头的命令程序开启的文件,如 lsof -c init。如果 C 以斜杠 / 开头和结尾,则斜杠之间的字符被解释为正则表达式。该选项可多次指定
+c W指定 COMMAND 列的宽度,单位字符。默认为 9
-C禁用从内核的名称缓存中报告任何路径名
-D D指导 lsof 使用设备缓存文件。该选项的使用有时受到限制。-D 必须后面跟着一个函数字母,函数字母后面可以有一个路径名称。lsof 识别以下功能字母:?	报告设备缓存文件路径b	构建设备缓存文件i	忽略设备缓存文件r	读取设备缓存文件u	读取并更新设备缓存文件
+D D递归搜索目录 D。如显示在 /usr/local 及其子目录下被程序开启的文件:lsof +D /usr/local
+d D非递归搜索目录 D。如显示在 /usr/local 下被程序开启的文件:lsof +d /usr/local
-d FD指定文件描述符列表,可以采用逗号分隔,也可以指定范围。比如 1,2,3 或 1-3。如果前面包含尖号,表示排除。如显示 FD 为 4 的进程:lsof -d 4
+|-e S豁免(exempt)路径名称为 S 的文件系统不受可能阻塞的内核函数调用的影响。+e 选项豁免 stat(2)、lstat(2) 和大多数 readlink(2) 内核函数调用。-e 选项只能豁免 stat(2) 和 lstat(2) 内核函数调用
+|-E+E 指定使用端点信息显示 Linux 管道、Linux UNIX 套接字和 Linux 伪终端文件,并显示端点的文件。-E 则不显示端点的文件
-F LIST指定字符列表 LIST,选择输出给另一程序处理的字段,各字段对应的字符见下文
+|-f [cfgGn]f 本身澄清了路径名参数的解释方式。当后面跟着 c、f、g、G 或 n 时,它指定要启用(+)或抑制(-)内核文件结构信息。c 文件结构使用计数(not Linux)f 文件结构地址(not Linux)g 文件标志缩写(Linux 2.6.22 及更高版本)G 十六进制文件标志(Linux 2.6.22 及更高版本)n 文件结构节点地址(not Linux)
-g [PGID

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

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

相关文章

Linux自主学习篇

用户及权限管理 sudo 是 "superuser do" 的缩写,是一个在类 Unix 操作系统(如 Linux 和 macOS)中使用的命令。它允许普通用户以超级用户(root 用户)的身份执行命令,从而获得更高的权限。 useradd…

学生管理系统1.0版本

学生管理系统1.0版本有5个功能,即添加学生、删除学生、修改学生、查看全部学生、退出系统。 里面对添加重复学号、删除和修改不存在的学号等问题都有相应的解决办法。 代码区: Student.java package student;//快捷键Altinsert public class Student …

基于STM32设计的烘干车间远程控制系统(腾讯云IOT)(228)

文章目录 一、前言1.1 项目介绍【1】项目背景【2】设计实现的功能【3】项目硬件模块组成1.2 设计思路【1】整体设计思路【2】ESP8266工作模式配置1.3 项目开发背景【1】选题的意义【2】可行性分析【3】参考文献【4】项目背景【5】摘要1.4 开发工具的选择【1】设备端开发【2】上…

微信小程序加载H5页面及与H5页面通信的实战教程

在微信小程序的开发过程中,我们有时需要在小程序中嵌入H5页面。本文将详细介绍如何在微信小程序中通过webview加载H5页面,并实现小程序与H5页面的通信。 一、准备工作 搭建微信小程序开发环境,具体步骤请参考官方文档:https://d…

【中国留学网-注册_登录安全分析报告】

前言 由于网站注册入口容易被黑客攻击,存在如下安全问题: 暴力破解密码,造成用户信息泄露短信盗刷的安全问题,影响业务及导致用户投诉带来经济损失,尤其是后付费客户,风险巨大,造成亏损无底洞…

来!一起探索 2024 年数据和 AI 的奇妙世界

来!一起探索 2024 年数据和 AI 的奇妙世界 前言2024 年数据和 AI 的奇妙世界 前言 生成式 AI 的问世,让世界正在经历一场前所未有的变革,就像是一把神奇的钥匙,正在开启一扇通往无限可能的大门。数据和 AI 的融合,将为…

【更新日志】拉克丝大战亚索-2024.09.23

2024.9.23更新 本次主要是修复了大量bug,改善了画面表现,减少了不必要的杂乱的音效,在此感谢bobo的美术支持。 战斗 战斗视角相机切换为第三人称。新增技能指示器。亚索的 Boss AI 行为,增加一个半血狂暴机制,亚索新…

Neo4j 简单使用

在 Neo4j 项目中,搭建和使用主要包括以下几个步骤: 1. 安装 Neo4j 首先,安装 Neo4j 可以选择多种方式,包括: 本地安装:在 Windows、macOS 或 Linux 系统中,通过官网下载对应的 Neo4j 安装包。…

微服务注册中⼼1

1. 微服务的注册中⼼ 注册中⼼可以说是微服务架构中的”通讯录“ ,它记录了服务和服务地址的映射关系。在分布式架构中, 服务会注册到这⾥,当服务需要调⽤其它服务时,就这⾥找到服务的地址,进⾏调⽤。 1.1 注册中⼼的…

算法之逻辑斯蒂回归(Logistic regression)

简介:个人学习分享,如有错误,欢迎批评指正。 逻辑斯蒂回归(Logistic Regression)是统计学中一种广泛应用于二分类问题的算法。它的主要目标是预测二分类问题中的事件发生的概率。尽管名字里有“回归”,但逻…

全栈项目小组【算法赛】题目及解题

题目:全栈项目小组【算法赛】 题目: 解题思路 1.遍历简历信息:我们需要读取所有简历,根据期望薪资和岗位类型进行分类和统计。 2.分类统计:使用哈希表来存储每个薪资下的前端(F)和后端&#…

re题(38)BUUCTF-[FlareOn6]Overlong

BUUCTF在线评测 (buuoj.cn) 运行一下.exe文件 查壳是32位的文件,放到ida反汇编 对unk_402008前28位进行一个操作,我们看到运行.exe文件的窗口正好是28个字符,而unk_402008中不止28个数据,所以猜测MessageBoxA(&#x…

《论软件架构建模技术与应用》写作框架,软考高级系统架构设计师

论文真题 软件架构风格是描述一类特定应用领域中系统组织方式的惯用模式,反映了领域中诸多系统所共有的结构特征和语义特征,并指导如何将各个模块和子系统有效组织成一个完整的系统。分层架构是一种常见的软件架构风格,能够有效简化设计&…

0基础跟德姆(dom)一起学AI 数据处理和统计分析07-分组和会员数据分析

向量化函数及Lambda表达式 * 分组操作相关 * 分组聚合 * 分组转换 * 分组过滤 * DataFrameGroupBy对象介绍 * 会员分析案例-数据透视表 --- 1.向量化函数 * 分析代码 python def avg_test2(x,y): if x20: return np.NaN else: retu…

[杂谈-黑神话:悟空] 中国3A游戏的崛起之路:挑战与机遇并存

[杂谈-黑神话:悟空] 中国3A游戏的崛起之路:挑战与机遇并存 《黑神话:悟空》的出现,让我们看到了中国3A游戏的希望和未来。对于中国游戏产业的从业者和爱好者来说,这是一个值得关注和期待的领域。 在游戏产业蓬勃发展的今天&#…

Java之线程篇六

目录 CAS CAS伪代码 CAS的应用 实现原子类 实现自旋锁 CAS的ABA问题 ABA问题导致BUG的例子 相关面试题 synchronized原理 synchronized特性 加锁过程 相关面试题 Callable 相关面试题 JUC的常见类 ReentrantLock ReentrantLock 和 synchronized 的区别: 原…

JAIN SLEE 和 Spring Boot对比

在性能方面,JAIN SLEE 和 Spring Boot 各有优势,取决于使用场景。为了更好地比较两者的性能,以下从几个关键方面进行分析: 1. 设计目标与适用场景 JAIN SLEE:专门为电信级应用设计,擅长处理高并发、低延迟…

缓存穿透 问题(缓存空对象)

文章目录 1、缓存穿透2、缓存空对象3、AlbumInfoApiController --》getAlbumInfo()4、AlbumInfoServiceImpl --》getAlbumInfo()5、RedisConstant6、请求缓存不存在的数据 1、缓存穿透 缓存穿透带有恶意性,强调不存在的数据。 2、缓存空对象 3、AlbumInfoApiCont…

华为OD机试 - 需要打开多少监控器(Java 2024 E卷 100分)

华为OD机试 2024E卷题库疯狂收录中,刷题点这里 专栏导读 本专栏收录于《华为OD机试(JAVA)真题(E卷D卷A卷B卷C卷)》。 刷的越多,抽中的概率越大,私信哪吒,备注华为OD,加…

Springboot 日志使用

在 Spring Boot 中,日志管理是通过集成常用的日志框架来实现的,如 Logback、Log4J2 和 Java Util Logging。默认情况下,Spring Boot 使用 Logback 作为日志实现。Spring Boot 的日志配置旨在提供一种简单的方式来配置日志,并默认优…