Linux系统性能监控命令系列之 lsof

大家好!我是Sean!

继续咱们的Linux系统中的性能监控命令,今天要分享的是lsof。

lsof (list open files) (一个列出当前系统打开文件的工具)

在linux环境下,万物皆文件,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件,所以如传输控制协议 (TCP) 和用户数据报协议 (UDP) 套接字等,系统在后台都为该应用程序分配了一个文件描述符,无论这个文件的本质如何,该文件描述符为应用程序与基础操作系统之间的交互提供了通用接口。因为应用程序打开文件的描述符列表提供了大量关于这个应用程序本身的信息,因此通过lsof工具能够查看这个列表对系统监测以及排错将是很有帮助的。lsof多么强大!

命令参数

-a:列出打开文件存在的进程;
-c<进程名>:列出指定进程所打开的文件;
-g:列出GID号进程详情;
-d<文件号>:列出占用该文件号的进程;
+d<目录>:列出目录下被打开的文件;
+D<目录>:递归列出目录下被打开的文件;
-n<目录>:列出使用NFS的文件;
-i<条件>:列出符合条件的进程。(4、6、协议、:端口、 @ip )
-p<进程号>:列出指定进程号所打开的文件;
-u:列出UID号进程详情;
-h:显示帮助信息;
-v:显示版本信息。

lsof输出各列的意义

COMMAND:进程的名称
PID:进程标识符
PPID:父进程标识符(需要指定-R参数)
USER:进程所有者
PGID:进程所属组
FD:文件描述符,应用程序通过文件描述符识别该文件
DEVICE:指定磁盘的名称
SIZE:文件的大小
NODE:索引节点(文件在磁盘上的标识)
NAME:打开文件的确切名称

FD列显示内容含义

1. cwd:表示current work dirctory,即:应用程序的当前工作目录,这是该应用程序启动的目录,除非它本身对这个目录进行更改
2. txt:该类型的文件是程序代码,如应用程序二进制文件本身或共享库,如上列表中显示的 /sbin/init 程序
3. lnn:library references (AIX);
4. er:FD information error (see NAME column);
5. jld:jail directory (FreeBSD);
6. ltx:shared library text (code and data);
7. mxx :hex memory-mapped type number xx.
8. m86:DOS Merge mapped file;
9. mem:memory-mapped file;
10. mmap:memory-mapped device;
11. pd:parent directory;
12. rtd:root directory;
13. tr:kernel trace file (OpenBSD);
14. v86 VP/ix mapped file;
15. 0:表示标准输出
16. 1:表示标准输入
17. 2:表示标准错误
一般在标准输出、标准错误、标准输入后还跟着文件状态模式:
1. u:表示该文件被打开并处于读取/写入模式。
2. r:表示该文件被打开并处于只读模式。
3. w:表示该文件被打开并处于。
4. 空格:表示该文件的状态模式为unknow,且没有锁定。
5. -:表示该文件的状态模式为unknow,且被锁定。同时在文件状态模式后面,还跟着相关的锁:
1. N:for a Solaris NFS lock of unknown type;
2. r:for read lock on part of the file;
3. R:for a read lock on the entire file;
4. w:for a write lock on part of the file;(文件的部分写锁)
5. W:for a write lock on the entire file;(整个文件的写锁)
6. u:for a read and write lock of any length;
7. U:for a lock of unknown type;
8. x:for an SCO OpenServer Xenix lock on part of the file;
9. X:for an SCO OpenServer Xenix lock on the entire file;
10. space:if there is no lock.

TYPE列显示内容含义

1. DIR:表示目录。
2. CHR:表示字符类型。
3. BLK:块设备类型。
4. UNIX: UNIX 域套接字。
5. FIFO:先进先出 (FIFO) 队列。
6. IPv4:网际协议 (IP) 套接字。
7. REG:普通文件

常用命令

查看所有已经打开的文件,不需要跟参数即可,不过输出的内容比较多

lsof

查看哪些程序正在使用某个文件,跟上文件的全路径名称或相对路径名称

lsof   [全路径文件名/相对路径文件名]

循环递归的查看某个路径下所有文件正在被哪些程序使用,跟上目录即可

lsof +D [路径]

查看某个用户打开的文件信息,跟上用户名参数

lsof  -u [用户名]

查看某种程序打开的文件信息,跟上关键字,就会打印出以关键字开头程序打开的文件

lsof -c [关键字]

列出多种程序打开的文件信息,跟上多个-c即可,和上条命令差不多

lsof -c [关键字A] -c [关键字B]


列出除了某个用户外的被打开的文件信息,^这个符号就是过滤掉root用户打开的进程

lsof -u ^root

显示某个进程号打开的文件信息

lsof -p [进程号]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zEOL8qJ6-1604541679192)(https://p6-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/657e974531df4f7c95f3878458bcb4bd~tplv-k3u1fbpfcp-watermark.image)]

列出多个进程号对应的文件信息

lsof -p [进程号1],[进程号2],[进程号3]

列出除了某个进程号,其他进程号所打开的文件信息

lsof -p ^[进程号]

查看所有的网络连接

lsof -i

查看所有tcp 网络连接信息

lsof  -i tcp

查看所有udp网络连接信息

lsof  -i udp

查看某个端口使用信息

lsof -i :22

查看某个特定的udp端口信息

lsof -i udp:42078

查看某个特定的tcp端口信息

lsof -i tcp:39498

思维导图总结

今天的分享就到这里啦!感谢各位的阅读!码字不易,如果本文对你有帮助的话,帮忙点个赞吧~哈哈。

性能监控命令系列结束后会将思维导图分享出来,欢迎关注公众号“程序员Sean”。

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

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

相关文章

Docker

1.概念 容器和虚拟机比较&#xff1a; 容器是在操作系统层面上实现虚拟化&#xff0c;直接复用本地主机的操作系统&#xff0c;而传统方式则是在硬件层面实现。 与传统的虚拟机相比&#xff0c;Docker优势体现为启动速度快、占用体积小。 2.安装及配置 2.1安装在centos7中 …

Android:编译libevent动态库并移植jni中,在Android AVD虚拟机上实现一个http服务器

libevent源码&#xff1a;libevent-2.1.8-stable Android Studio版本&#xff1a;Android Studio Electric Eel | 2022.1.1 Patch 2 AVD虚拟机为x86. https://developer.android.google.cn/studio/run/emulator-networking?hlzh-cn#connecting 大体步骤&#xff1a; 1.在ws…

超级超级好用的浏览器扩展插件

良心亲测&#xff0c;绝对好用 1. AdBlock —最佳广告拦截工具&#xff08;拦截广告&#xff09; 2.AIX智能下载器(图片/视频/音乐/文&#xff08;下载图片、视频&#xff09; 3.Allow Copy 超级复制&AI智能小...&#xff08;复制文案&#xff09; 4.EndNote Click - Forme…

菜谱APP源码和设计报告

《移动互联开发》 课程作业 学 院&#xff1a; 班 级&#xff1a; 学 号&#xff1a; 姓 名&#xff1a; 日 期&#xff1a; 设计要求&#xff08;提交文档时需删除&#xff09;: 1.本课程设计作为《Android 程序设计》的期末考查内容。 2.任务安排&#xff1a; &…

实测:GPT -3.5 与GPT -4.0 编程能力对比

在本文中&#xff0c;我们将从三个不同角度对比GPT-4和GPT-3.5的代码能力&#xff0c;包括&#xff1a;技术概念解释、代码编写能力和调试代码能力。这将有助于我们了解这两个版本的人工智能语言模型在各方面的优劣。 推荐人 | 互联网老孙 编辑者 | JK 1. 技术概念解释对比 问题…

官方 gpt3.5, gpt4.0、github copilot chat、gpt3.5 api、gpt4 api 对比

这是「进击的Coder」的第 848 篇技术分享 作者&#xff1a;刘志军 来源&#xff1a;Python 之禅 “ 阅读本文大概需要 9 分钟。 ” gpt4 的智能程度大于 gpt3.5&#xff0c;毫无争议&#xff0c;但是 OpenAI 提供的 GPT3.5 API 能力是否和官方的 GPT3.5 相当&#xff1f;对应…

刺激,GPT4/ChatGPT3.5/DALL-E同时玩

GPT4/ChatGPT3.5/DALL-E&#xff1a; AI创想师 ​ 这个画图效果着实可以 用来回答某某的问题GPT4确实比GPT3.5准 ​ 这是GPT4的回答 ​ 这是GPT3.5的回答&#xff0c;确实差一些 用了几天&#xff0c;发现可以一直(bai)用(piao)!!!

这套源码融合了chatgpt3.5、chatgpt4.0、midjourney、stable diffusion等技术,简直是炫酷至极

首先&#xff0c;让我们来看下面的效果演示图&#xff1a; 经过实际体验&#xff0c;这套chatgpt技术提供了令人惊艳的快速响应。整个系统可以在国内服务器上部署&#xff0c;只需配置好反向代理功能。 midjourney和stable diffusion在运行过程中表现得十分稳定。而且&#xff…

用OceanBase试了一下ChatGPT开源文档问答助手

欢迎访问 OceanBase 官网获取更多信息&#xff1a;https://www.oceanbase.com/ 随着去年年底 ChatGPT 的火爆出圈&#xff0c;到近日 OpenAI 发布了最新的 GPT-4 模型&#xff0c;大家都在思考、尝试如何利用 ChatGPT 的能力来构建自己的应用。 我们最近发现&#xff0c;在开…

淘宝天猫API详情接口调用分享

为了进行此平台API的调用&#xff0c;首先我们需要做下面几件事情。 1、 获取一个KEY。 2、 参考API文档里的接入方式和示例。 3、查看测试工具是否有需要的接口&#xff0c;响应实例的返回字段是否符合参数要求。 4、利用平台的文档中心和API测试工具&#xff0c;对接口进行测…

淘宝天猫API_获取商品详情原数据

item_get_app-获得淘宝app商品详情原数据 获取key和secret API返回结果 { "item": { "apiStack": [ { "name": "esi", "value": "{\"global\":{…

云从发布从容AI大模型;莫言用ChatGPT帮余华写颁奖词;罗普特遭立案调查丨每日大事件...

‍ ‍数据智能产业创新服务媒体 ——聚焦数智 改变商业 企业动态 亚马逊网络服务将向印度的云基础设施投资127亿美元 5月18日&#xff0c;亚马逊宣布&#xff0c;亚马逊网络服务计划到2030年向印度的云基础设施投资10560亿印度卢比&#xff08;127亿美元&#xff09;&#xff…

03.SELF-INSTRUCT+Alpaca

文章目录 前言泛读储备知识提示学习提示工程Promt Engineering答案工程 背景介绍研究SELF-INSTRUCT的动机研究意义&贡献 精读Overview种子任务步骤1&#xff1a;定义指令数据步骤2&#xff1a;自动指令数据生成步骤2.1指令生成步骤2.2指令分类步骤2.3实例生成步骤2.4筛选和…

Windows应急响应 - 敏感目录文件痕迹排查,最近打开的文件 Recent,临时目录Temp,预读取文件Prefetch,程序执行情况Amcache.hve,Windows文件访问时间不更新原理

「作者简介」&#xff1a;CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」&#xff1a;对网络安全感兴趣的小伙伴可以关注专栏《网络安全入门到精通》 敏感文件痕迹排查 一、根据时间查找 Forfiles1、访问时间不更新问题 二、最近打开的文件 …

留学生如何利用好Chat GPT,助力留学生活?

目录 01.什么是Chat GPT &#xff1f; 02.Chat GPT使用的问题 03.Chat GPT为留学生活提供了哪些便利&#xff1f; 04.海外院校对Chat GPT的态度 禁止使用 允许使用 05.如何正确使用呢&#xff1f; 07.使用技巧 08.使用的注意事项 寄语 01.什么是Chat GPT &#xff1f;…

文笔润色-文本校对改写工具

文段改写软件 写作是一项对于很多人来说都需要频繁进行的活动&#xff0c;无论是工作中的商业写作还是学术写作&#xff0c;在完成优质内容的同时也需要付出大量的时间和精力进行语言润色和修改。然而&#xff0c;现在有了147ChatGPT改写润色软件&#xff0c;该软件可以全自动…

chatgpt赋能python:Python中怎么开方

Python中怎么开方 在Python中&#xff0c;开方是一种非常常见的数学操作。开方指的是求一个数的平方根或立方根等等。在Python中&#xff0c;我们可以使用自带的math库或使用第三方库numpy来进行开方操作。 使用math库进行开方操作 math库提供了sqrt()函数&#xff0c;可以用…

chatgpt赋能python:Python怎么计算开方

Python怎么计算开方 Python语言是一种高级程序语言&#xff0c;具有易学、易读、易写、易维护等特点。在数据分析、科学计算、人工智能等领域&#xff0c;Python被广泛应用。计算开方在数学计算中是一个常见的操作&#xff0c;Python也提供了多种求开方的方法。 常见的求开方…

chatgpt赋能python:Python怎样开方?完整解析Python开方方法

Python怎样开方&#xff1f;完整解析Python开方方法 Python作为一种流行的编程语言&#xff0c;用途十分广泛&#xff0c;可以用来进行数据分析、网络爬虫、Web开发等。Python还支持数学计算&#xff0c;包括开方。Python怎样开方&#xff1f;下面我们来一一解析Python开方的方…

chatgpt赋能python:开方在Python中的用法

开方在Python中的用法 开方是数学中常见的一种运算&#xff0c;用于求一个数的平方根。在Python中&#xff0c;开方运算可以通过使用math模块中的sqrt函数来实现。本文将介绍开方运算的概念、Python中的应用以及一些常见问题的解决方法。 开方的概念 开方是指&#xff0c;对…