lsof 不返回同一用户打开的文件

lsof 不返回同一用户打开的文件

考虑这个简单的场景:

  1. 我在一个终端中打开一个文本文件 ~/textfile.txt vim(尝试使用编辑和只读模式)。
  2. 在另一个终端中,我运行

/usr/sbin/lsof ~/textfile.txt

没有得到结果

为什么?

答案1

当您使用vi/vim编辑文件时,您实际上并未保持~/<filename>打开状态,而是将文件读入~/.<filename>.swp然后保持该临时文件打开。

如果你运行lsof ~/.<filename>.swp它会显示你正在寻找的信息。

笔记:如果您有多个人编辑同一个文件,您将需要这样做,lsof ~/.<filename>.s*因为每个vi/vim会话将创建自己的交换文件,但名称会有所不同

相关内容