【Linux - lsof 找出谁在操作】

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

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

lsof

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

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

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)。

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

kill -9 1234
Linux系统中,lsof命令用于查看进程打开的文件、目录以及进程监听的端口等socket相关的信息。通过lsof命令,我们可以了解到进程与文件之间的关系,包括哪些进程正在使用某个文件系统。 常见的lsof命令选项包括: - lsof file:显示已打开该文件的进程 - lsof -c abc:显示进程名为abc的进程当前打开的文件 - lsof -cp 1234:列出进程号为1234的进程所打开的文件 - lsof -g gid:显示归属于gid的进程情况 - lsof -d 4:显示文件描述符为4的进程 - lsof -i:显示符合条件的进程情况 - lsof -i[46] [protocol][@hostname|hostaddr][:service|port]:用于显示符合条件的进程情况, 可以指定协议、主机名、端口号等参数。 通过lsof命令,我们可以更好地了解进程与文件之间的关系,帮助我们在需要操作文件系统时避免出现操作失败的情况。比如,在卸载文件系统时,使用lsof命令可以找出哪些进程正在使用当前要卸载的文件系统,从而避免操作失败。 <span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Linux命令之lsof](https://blog.youkuaiyun.com/ljbcharles/article/details/131479338)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Linux lsof命令详解](https://blog.youkuaiyun.com/xiao_yi_xiao/article/details/124143337)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值