【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
相关推荐
123过去5 小时前
wifi-honey使用教程
linux·网络·测试工具
志栋智能5 小时前
低成本自动化巡检:7×24小时守护业务稳定
运维·网络·自动化
KD6 小时前
阿里云服务迁移实战(二)——网关迁移与前后端分离配置
后端
ToB营销学堂6 小时前
MarketUP | B2B 自动化营销实战:如何打破“营-销”数据孤岛,构建高转化线索流?
运维·自动化
小江的记录本6 小时前
【Redis】Redis全方位知识体系(附《Redis常用命令速查表(完整版)》)
java·数据库·redis·后端·python·spring·缓存
Deitymoon7 小时前
linux——孤儿进程和僵尸进程
linux
颜酱7 小时前
回溯算法实战练习(3)
javascript·后端·算法
CDN3607 小时前
360CDN 全系列产品体验:CDN / 高防 / SDK 游戏盾横向测评
运维·安全·游戏
zihao_tom7 小时前
Spring Boot(快速上手)
java·spring boot·后端
行者-全栈开发7 小时前
容器化时代来临 - Docker 技术演进与核心价值
运维·docker·容器·cicd·自动化构建·容器化时代