考虑这个简单的场景:
- 我在一个终端中打开一个文本文件 ~/textfile.txt
vim
(尝试使用编辑和只读模式)。 - 在另一个终端中,我运行
/usr/sbin/lsof ~/textfile.txt
没有得到结果
为什么?
答案1
当您使用vi
/vim
编辑文件时,您实际上并未保持~/<filename>
打开状态,而是将文件读入~/.<filename>.swp
然后保持该临时文件打开。
如果你运行lsof ~/.<filename>.swp
它会显示你正在寻找的信息。
笔记:如果您有多个人编辑同一个文件,您将需要这样做,lsof ~/.<filename>.s*
因为每个vi
/vim
会话将创建自己的交换文件,但名称会有所不同