首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >vim未显示在fuser中

vim未显示在fuser中
EN

Unix & Linux用户
提问于 2012-11-30 10:29:33
回答 1查看 420关注 0票数 2

首先使用Vim编辑一个文件,例如/tmp/A。

假设vim进程是唯一访问/tmp/A的进程,然后使用"ctrl+z“来挂起进程,然后执行

代码语言:javascript
复制
fuser /tmp/A

然后你在输出中什么也看不到。

但是,如果使用" less“来打开该文件,则可以在fuser输出中看到pid值。

vim有什么特别之处吗?

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2012-11-30 10:37:54

是的,除非文件需要保存,否则vim不会打开它。相反,vim使用一个临时隐藏交换文件来保存增量进行的更改。保存文件(:w)后,它将写入原始文件。

通过使用lsof,您可以看到这一点,即:

代码语言:javascript
复制
$ lsof -n -p `pidof vim`
COMMAND  PID USER   FD   TYPE DEVICE SIZE/OFF   NODE NAME
[...]
vim     9695 gert    4u   REG  252,1    12288 410388 /tmp/.a.swp
[...]

这是编辑的常见行为。less只是读取文件,当只打开一个文件进行读取时,使用技巧是没有好处的。

票数 4
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/57228

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档