文档教程知识库【免费下载链接】reference⭕ Share quick reference cheat sheet for developers.项目地址https://gitcode.com/gh_mirrors/re/reference点击查看免费下载lsofList Open Files是 Linux/Unix 系统管理员排查端口占用、定位进程打开文件、诊断文件删除后仍被占用等问题的核心利器。本指南完整继承并扩展了 source/_posts/lsof.md 速查表中的全部命令用法从端口、进程、用户、网络、PID、文件名、目录等维度逐一讲解并结合本仓库Reference 开发者速查项目的文档结构与渲染机制帮助你在最短时间内掌握 lsof 的实战技能。快速开始认识 lsoflsof是ListSopenFiles 的缩写用于列出系统当前哪些进程打开了哪些文件。这里的“文件”是广义概念不仅包括普通磁盘文件还包括网络套接字TCP / UDP 连接与监听端口Unix 域套接字管道、设备文件、符号链接目录、共享库与动态加载的模块在 Unix 哲学中“一切皆文件”因此 lsof 的输出覆盖了进程与系统资源交互的几乎全部维度是排查“端口被谁占用”“文件为什么删不掉”“某个进程到底打开了哪些文件”这类问题的首选命令。基础调用方式如下$ lsof $ sudo lsof -u root直接运行lsof会列出当前系统所有进程打开的全部文件输出量极大一般配合 grep 或其他筛选参数使用sudo lsof -u root查看 root 用户打开的所有文件-u指定用户名或用户 ID由于部分进程的文件描述符对其他用户不可见排查系统级问题时通常需要sudo提升权限。lsof 的典型输出列依次为COMMAND进程名、PID进程号、USER属主用户、FD文件描述符如cwd当前目录、txt可执行文件、mem内存映射文件、u读写模式等、TYPE文件类型如REG普通文件、DIR目录、IPv4/IPv6网络连接、DEVICE设备号、SIZE/OFF大小或偏移量、NODEinode 号或协议、NAME文件名或连接端点。按端口查找定位端口占用者排查端口占用是 lsof 最常用的场景例如启动服务时报Address already in use即可用-i参数快速定位$ lsof -i :8080 $ lsof -i :80 -i :22 $ lsof -i TCP:22 $ lsof -i TCP:1-1024 $ lsof -i UDP $ lsof -i 192.168.1.5各参数含义与适用场景命令作用lsof -i :8080列出占用 8080 端口的所有连接包括 LISTEN 与 ESTABLISHED-i后跟冒号加端口号lsof -i :80 -i :22同时查询多个端口-i参数可重复出现逻辑为“或”关系lsof -i TCP:22只看 TCP 协议上 22 端口的连接协议限定可避免 UDP 等其他类型干扰lsof -i TCP:1-1024查看 TCP 端口区间 1~1024特权端口区上的所有连接-i支持端口范围语法lsof -i UDP列出所有 UDP 连接排查 DNS、NTP、DHCP 等 UDP 服务时很有用lsof -i 192.168.1.5按 IP 地址过滤后跟主机地址可查看与指定主机之间的所有网络连接-i参数后还可以组合协议与地址如lsof -i TCP192.168.1.5:80表示“与 192.168.1.5 的 80 端口之间的 TCP 连接”。对于 Nginx、Docker、Java 等常见服务端口占用排查lsof -i :端口号是最直接的一步。按进程名查找定位程序行为当你知道进程名但不确定其打开了哪些文件或端口时用-c按进程名command name筛选$ lsof -c mysql $ lsof -c java $ lsof -c ssh $ lsof -c nginx $ lsof -c ssh -c httpd-c后面跟进程名的开头字符串匹配进程 COMMAND 列因此-c java能匹配所有以 java 开头的 JVM 进程-c mysql匹配 mysqld 等以 mysql 开头的守护进程多个-c参数之间是“或”关系lsof -c ssh -c httpd同时列出 ssh 与 httpd 两类进程打开的文件如需精确匹配完整进程名可结合lsof | grep 完整名称或先pgrep拿到 PID 再配合-p使用。该参数常用于确认某服务是否加载了预期配置、连接了哪些数据库端口或在容器/多实例部署时快速区分同名进程。按用户查找查看指定用户的文件占用$ lsof -u www-data $ lsof -u www-data -u ubuntu $ lsof -i -u ^root # Except certain user-u指定用户名或 UIDlsof -u www-data列出 web 服务账号打开的所有文件多个-u之间为“或”关系可同时查看多个用户-u ^root中脱字符^表示“排除”该用户lsof -i -u ^root即“查看非 root 用户的所有网络连接”。^排除语法在-pPID、-c进程名等参数上同样适用。该用法在安全审计、判断哪个账号残留了异常连接如后门进程以普通用户运行时非常实用例如lsof -i -u ^root ^daemon可快速找出系统中非系统账号建立的网络连接。按网络协议族过滤IPv4 与 IPv6$ lsof -i 4 # IPv4 only $ lsof -i 6 # IPv6 onlylsof -i 4仅列出 IPv4 网络连接lsof -i 6仅列出 IPv6 连接当系统同时运行双栈服务时用这两个参数可分别确认各自的监听情况避免 IPv6 连接混杂在输出中干扰判断语法上-i 4中的数字属于协议族限定与-i TCP、-i UDP的协议限定可组合使用如lsof -i 4TCP:443查看 IPv4 上 443 端口的 TCP 连接。按 PID 查找指定进程打开的文件$ lsof -p 1753 $ lsof -p ^3 # Except certain pids-p后跟进程号精确查看某个 PID 打开的全部文件是定位“单个进程在干什么”的最细粒度手段lsof -p ^3排除 PID 为 3 的进程通常为内核线程在查看大量进程输出时排除干扰项与pgrep组合可动态获取 PIDlsof -p $(pgrep -f java.*app.jar)。典型场景服务响应异常时用-p查看该进程打开了哪些文件、连接了哪些远端地址或者在文件系统卸载失败device is busy时通过lsof D 挂载点找到持有文件的进程后再用-p深入确认。按文件名查找谁在占用这个文件$ lsof /var/log/messages $ lsof /etc/passwd直接在 lsof 后面跟文件路径即可列出所有打开了该文件的进程lsof /var/log/messages查看谁在写系统日志排查日志轮转logrotate时“文件被删但空间不释放”的经典问题lsof /etc/passwd查看哪些进程引用了该配置文件。结合ls -l看到的 inode还能用lsof L1列出“已删除但仍被进程占用”的文件——这正是磁盘空间莫名不释放、df显示已删文件仍占空间的根本原因所在。按目录查找目录及其子目录内的文件$ lsof D /var/log # Within a directoryD后跟目录路径递归列出该目录及其所有子目录中被进程打开的文件用于整目录维度排查如卸载挂载点、迁移数据目录前确认无进程占用注意D是递归模式输出可能较多若只需查看目录本身不含递归可省略D直接lsof /var/log。卸载磁盘时常见的报错target is busy用lsof D /mnt/data即可列出所有引用该目录下文件的进程配合kill或重启服务完成安全卸载。批量清理结合 kill 终止占用进程$ kill -9 lsof -t -u apache $ kill -9 $(lsof -t -i :8080)lsof -tterse是 lsof 的“静默输出”模式只打印 PID 列非常适合脚本化处理两条命令分别演示了反引号 与$()两种命令替换写法将lsof -t输出的 PID 列表直接作为kill的参数第一条lsof -t -u apache获取 apache 用户所有进程的 PID 并强制终止第二条lsof -t -i :8080获取占用 8080 端口的所有进程 PID 并强制终止——是 CI/CD 脚本和本地开发中“清端口”的标准写法。需要强调的是kill -9是强制信号会立即终止进程且不执行清理动作。生产环境建议先kill -15SIGTERM让进程优雅退出确认无效后再升级为-9执行前务必确认 PID 列表无误避免误杀关键服务。输出进阶其他常用参数一览除本速查表列出的用法外lsof 还提供以下高频参数可与上述选项自由组合参数作用-t只输出 PID便于脚本解析与管道处理-n不解析主机名直接显示 IP加快查询速度-P不将端口号转换为服务名直接显示数字端口-a多个条件之间改为“与”关系默认是“或”L1列出已删除但仍被进程占用的文件-sTCP:LISTEN仅显示处于 LISTEN 状态的 TCP 连接如lsof -i :80 -sTCP:LISTEN-i网络连接过滤端口、协议、地址、协议族组合示例lsof -iTCP:8080 -sTCP:LISTEN -nP表示“查看 8080 端口上处于监听状态的 TCP 连接不做域名与端口名解析”输出更快且更利于脚本比对。在本项目中的呈现方式本篇文章对应的速查表源码位于 source/_posts/lsof.md是 Reference面向开发者的速查表集合见 README.md中 “Linux Command” 分类下的一员。该文件采用 Hexo 博客引擎的 Front Matter 格式声明元信息title与intro为必填项tagsport / processes / utility与categoriesLinux Command用于站点分类聚合plugins: copyCode则启用了代码块一键复制能力。从渲染链路看文档正文会经由 themes/coo/scripts/markdown_plugin.js 中注册的 markdown-it 插件链处理markdown-it-highlightjs负责对shell script等语言块做语法高亮headerSections规则会自动将 H2/H3 标题包装为卡片式布局页面最终由 themes/coo/layout/note.ejs 模板渲染。而copyCode插件的实现位于 themes/coo/layout/_partial/scripts.ejs脚本会为页面中每个pre code代码块动态插入“复制”按钮点击后通过navigator.clipboard.writeText将代码块内容写入剪贴板并短暂显示对勾反馈——因此你在本文看到的所有lsof命令示例都可以在线上页面中一键复制直接使用。小结lsof 之所以成为系统排查的“瑞士军刀”在于它将“进程—文件—网络”三类资源在统一视图下打通。日常开发中最值得记住的三条命令$ lsof -i :端口号 # 端口被谁占用 $ lsof -p PID # 进程打开了什么 $ lsof -t -i :端口号 | xargs kill -9 # 脚本化清理占用进程配合-u、-c、D、-nP等参数自由组合即可覆盖从本地开发调试到生产环境排障的绝大多数场景。赞分享文档教程知识库【免费下载链接】reference⭕ Share quick reference cheat sheet for developers.项目地址https://gitcode.com/gh_mirrors/re/reference点击查看免费下载相关推荐Lsof 命令速查指南使用 Quick Reference 排查进程打开的文件与端口占用Lsof 命令速查指南使用 Quick Reference 排查进程打开的文件与端口占用 lsof List Open Files是 Linux/Unix文档教程lsof 命令速查指南Linux 下按端口、进程、用户定位打开文件lsof 命令速查指南Linux 下按端口、进程、用户定位打开文件 lsofList Open Files是 Linux 系统管理员与开发者的必备排障工具文档知识库教程开发工具SerenityOS lsof 命令完全指南列出进程打开文件的原理与实战SerenityOS lsof 命令完全指南列出进程打开文件的原理与实战 导读 lsof List Open Files是 SerenityOS 提供的进操作系统内核驱动上一篇LabelCloud简单高效的3D点云标注工具完全指南下一篇实战指南如何利用OptBinning实现最优分箱提升模型性能创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
企业数字化 ERP 产品动态
相关推荐
Wan 3.0电商视频实战:图片、视频、声音参考怎么配合 做电商视频的朋友应该都有过这种体验:素材库里商品图、实拍片段、早期录好的口播旁白全都齐了,可真拿 Wan 3.0 这类 AIGC 工具生成一条 30 秒商品视频时,反而不知道该把哪些素材喂给模型。图片参考要传几张?视频参考是给全部还是给… · 2026/9/24 20:26:10
支持中文提示词的AI作图工具横评:6款主流工具实测与选型指南 1. 中文提示词在AI作图里的真实处境1.1 为什么“中文提示词”这件事值得单独拿出来聊过去一年多,我几乎每周都会收到类似的问题:“有没有支持中文提示词的AI作图工具?”问的人里有设计师、电商运营、自媒体作者,也有纯粹想给孩子做… · 2026/9/24 20:26:10
EvoSkill-GUI:让GUI Agent从点击失败中进化出可复用技能 1. 为什么GUI Agent会“点错”:三层失败原因拆解做GUI Agent开发,最崩溃的时刻往往不是模型不会用工具,而是它已经“看见”了正确的按钮,最后却落在了隔壁。几个月前我调试一个自动填报销单的Agent,它连续三次把“提交… · 2026/9/24 20:26:09
Linux桌面环境实战指南:从GNOME与KDE到国产系统运维 这篇文章不是要把 Linux 命令行重新科普一遍,而是专门讲 Linux 桌面的使用者最该搞明白的那一层:桌面环境。尤其在国内办公、运维和项目交付场景里,你翻来覆去打交道的基本就是 GNOME 和 KDE Plasma 这两套系统。统信 UOS、银河麒麟、openEul… · 2026/9/24 21:01:17
电热综合能源系统优化调度:热电联产与储热协同促进风电消纳 这几年做新能源消纳方向的调度研究,接触最多的一个词就是“弃风”。尤其在北方冬季供暖期,热电机组“以热定电”死死压住出力下限,风电想多发却没人要,只能眼睁睁看着风场切机。这个“促进风电消纳的电热综合能源系统优化调度研究… · 2026/9/24 21:01:17
二分答案算法详解:从两道经典题掌握check函数与单调性判断 刷算法题这几年,二分答案算是我最常用也最愿意给新人讲的技巧之一。它不需要像线段树那样背一长串模板,也不需要很强的数学推导能力,只要你能判断出一道题的答案具有“单调性”,再写一个不算太复杂的check函数,就能把很… · 2026/9/24 21:01:17
基于深度学习的交通标志识别系统:Python+Django+MySQL毕业设计实战 简介:本资源为基于深度学习的交通标志识别系统毕业设计源码包,面向计算机相关专业需要完成毕业设计或课程设计的学生。系统采用Python开发,使用YOLOv5训练检测模型,结合Django搭建前后端,MySQL存储数据,可实… · 2026/9/24 21:01:17
二分答案从入门到实战:两道经典题彻底搞懂算法套路 做算法题这些年,有个技术点让我印象特别深:二分答案。第一次在题目上看到“二分答案”这个标签时,我其实挺懵的——二分查找我熟,有序数组里找值嘛,但“二分答案”是什么?答案还能二分?后来在洛… · 2026/9/24 21:01:17
埋点设计规范全解析:从事件命名到数据质量保障的实战指南 做数据分析这些年,我踩过最大的坑不是算法不先进,也不是模型不准确,而是辛辛苦苦跑出来的报表,被业务方一句“这个数据口径不对吧”直接打回。后来查了一圈,发现根子出在埋点上:同一个“按钮点击”… · 2026/9/24 21:01:11
基于YOLOv8的渔船作业监控系统:从环境搭建到边缘部署全流程 简介:这是一套面向计算机、人工智能、自动化等专业学生与教师的毕业设计级项目资源,围绕YOLOv8实现渔船作业监控系统,可用于毕设、课程设计、大作业或项目立项演示。压缩包共97个文件,约24.21MB,以70个Python源码文件为… · 2026/9/24 0:00:13
1D-CNN时间序列建模实战:从Conv1d原理到工业落地 简介:面向时间序列数据建模的一维卷积神经网络完整实现,适合深度学习入门者及需要快速验证时序模型的研究者,能够从音频、文本、传感器或股价等序列中挖掘局部特征与时间依赖。压缩包体积很小,只有3KB,内含3个Python脚… · 2026/9/24 0:00:26
柔软的L:汉语语流中被忽视的舌肌张力控制 1. 这个“L”不是字母表里的L,而是舌尖上的L最近在几个方言群和语音教学社群里,反复看到有人发一句:“也说字母L:柔软的长舌”。初看以为是英语发音课笔记,点开才发现全是方言爱好者、播音系学生、语言康复师甚至戏曲演… · 2026/9/24 0:00:44