【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
相关推荐
泯泷6 分钟前
提示工程的悖论:为什么与 AI 对话比你想象的更难
人工智能·后端·openai
c++逐梦人9 分钟前
ELF文件和动态链接与动态库加载
linux·操作系统·进程
大尚来也36 分钟前
跨平台全局键盘监听实战:基于 JNativeHook 在 Java 中捕获 Linux 键盘事件
java·linux
Trouvaille ~1 小时前
【Linux】数据链路层与以太网详解:从 MAC 地址到 ARP 的完整指南
linux·运维·服务器·网络·以太网·数据链路层·arp
xiaoliuliu123451 小时前
Xftp-7.0.0109p文件传输安装步骤详解(附FTP/SFTP连接与文件传输教程)
运维·服务器
马士兵教育2 小时前
程序员简历如何编写才能凸显出差异化,才能拿到更多面试机会?
开发语言·后端·面试·职场和发展·架构
小鸡食米2 小时前
LVS(Linux Virtual Server)
运维·服务器·网络
Ronin3052 小时前
【Linux网络】Socket编程:UDP网络编程实现ChatServer
linux·网络·udp
面向对象World2 小时前
正点原子Mini Linux 4.3寸800x480触摸屏gt115x驱动
linux·服务器·数据库
~央千澈~3 小时前
抖音弹幕游戏开发之第12集:添加冷却时间机制·优雅草云桧·卓伊凡
java·服务器·前端