Hanestt 发表于 2008-3-23 12:34:26

请教一个linux中的文件操作问题

linux中用程序实现定时定量写文件,在过程中使用vi 编辑当前文件,保存退出后,当前文件继续写入失败,直到切换新文件,写入才恢复正常,请问是什么原因?

使用的是suse linux; 在sun和ibm aix的unix中同样的操作/代码却没有这个问题!
vi 编辑保存后发现 文件硬连接数为0了,但该文件好像并没有删除;

是否跟linux 中vi的实现有关系,是否有这么一说:
vi打开一个文件时,会将文件的内容读到内存中,而我们对此文件的修改都是在内存中进行的,等到我们要保存时,vi会新建一个空文件,然后将内存中的内容全都写到这个新建的文件中,最后将老文件删掉。之所以这么做,可能是考虑到效率的问题。因为对一个已有的文件进行写操作,不如直接写一个空文件来得效率高。

请教专家指导!!
页: [1]
查看完整版本: 请教一个linux中的文件操作问题