【Linux - lsof 找出谁在操作】

  • 当你想修改某个文件,却被提示文件正在被修改,类似如下提示,
go 复制代码
Found a swap file by the name ".index.ts.swp"
  • 当你想删除某个日志文件,却因为还有地方持续写入,执行rm 操作却迟迟无法删除,
  • 甚至某一天,当你本地想用git提交代码时,却被告知有git进程正在进行操作,从而存在锁.git/index.lock,git暂时无法提交。

这时很烦躁,也许简单粗暴的关闭命令行或者重启机器往往能解决问题。但是难道你不好奇,到底是谁在操作啊?是哪个进程占用了啊。

lsof

要查看哪个进程正在操作一个特定的文件,你可以使用 lsof(List Open Files)命令。lsof 是一个用于列出当前系统中打开的文件及其相关进程的命令行工具。

使用 lsof 可以查看哪个进程正在操作特定文件:

bash 复制代码
lsof /home/user/main/.index.ts.swp

这个命令将列出所有正在操作该文件的进程。如果文件被某个进程占用,将看到类似以下的输出:

复制代码
COMMAND   PID  USER   FD   TYPE DEVICE SIZE/OFF    NODE NAME
vim      1234 zhangsan   4uW  REG  8,1    0       123456 /home/user/main/.index.ts.swp

在这个示例中,vim 是正在操作该文件的进程,1234 是进程 ID(PID)。

至此,烦人的占用者找到了,接下来便可给其送上一记重拳 !

go 复制代码
kill -9 1234
相关推荐
qwy71522925816311 小时前
1-Docker Engine 安装前置环境配置
运维·docker·容器
一灯架构11 小时前
90%的人答错!一文带你彻底搞懂ArrayList
java·后端
菜菜艾12 小时前
基于llama.cpp部署私有大模型
linux·运维·服务器·人工智能·ai·云计算·ai编程
重生的黑客12 小时前
Linux开发工具:条件编译、动静态库与 make/makefile 入门
linux·运维·服务器
minji...12 小时前
Linux 线程同步与互斥(三) 生产者消费者模型,基于阻塞队列的生产者消费者模型的代码实现
linux·运维·服务器·开发语言·网络·c++·算法
.柒宇.12 小时前
nginx入门教程
运维·nginx
mldong13 小时前
Python开发者狂喜!200+课时FastAPI全栈实战合集,10大模块持续更新中🔥
后端
w61001046613 小时前
cka-2026-ConfigMap
java·linux·cka·configmap
GreenTea13 小时前
从 Claw-Code 看 AI 驱动的大型项目开发:2 人 + 10 个自治 Agent 如何产出 48K 行 Rust 代码
前端·人工智能·后端
cc_yy_zh13 小时前
Win10 家庭版找不到Device Guard; 无法处理 VMware Workstation与Device Guard不兼容问题
linux·vmware