【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
相关推荐
csdn_aspnet4 小时前
TCP/IP协议栈深度解析:从基石到前沿
服务器·网络·tcp/ip
lcreek5 小时前
Linux信号机制详解:阻塞信号集与未决信号集
linux·操作系统·系统编程
shandianchengzi5 小时前
【记录】Tailscale|部署 Tailscale 到 linux 主机或 Docker 上
linux·运维·docker·tailscale
John Song6 小时前
Linux机器怎么查看进程内存占用情况
linux·运维·chrome
sichuanwuyi6 小时前
Wydevops工具的价值分析
linux·微服务·架构·kubernetes·jenkins
持戒波罗蜜6 小时前
ubuntu20解决intel wifi 驱动问题
linux·驱动开发·嵌入式硬件·ubuntu
不做无法实现的梦~6 小时前
使用ros2来跑通mid360的驱动包
linux·嵌入式硬件·机器人·自动驾驶
梁辰兴6 小时前
计算机网络基础:虚拟专用网
服务器·网络·计算机网络·vpn·虚拟专用网·计算机网络基础·梁辰兴
点云SLAM7 小时前
C++内存泄漏检测之Windows 专用工具(CRT Debug、Dr.Memory)和Linux 专业工具(ASan 、heaptrack)
linux·c++·windows·asan·dr.memory·c++内存泄漏检测·c++内存管理
肉肉心很软7 小时前
使用onlyoffice实现文件预览编辑 + Docker一键部署流程
运维·docker·容器