Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 在不关闭/重新打开的情况下更新正在增长的文件的状态_C_Linux_File Handling - Fatal编程技术网

C 在不关闭/重新打开的情况下更新正在增长的文件的状态

C 在不关闭/重新打开的情况下更新正在增长的文件的状态,c,linux,file-handling,C,Linux,File Handling,假设我open()在*nix机器上打开一个文件,然后点击eof。但是当我open()编辑它时,它仍在编写中 是否有方法可以检测自open()-时间以来文件是否已增长?或者我需要关闭()并重新打开()来检查吗 有没有一种方法可以读取旧的eof而无需close()ing和重新open()ing?虽然不可移植,但在linux上,您可以使用inotify系统并监视感兴趣文件的文件关闭事件。看 注意,仅仅因为文件被另一个进程关闭,并不一定意味着它的大小增加了。如果您关心文件大小的更改,请在关闭文件之前使用

假设我
open()
在*nix机器上打开一个文件,然后点击
eof
。但是当我
open()
编辑它时,它仍在编写中

是否有方法可以检测自
open()
-时间以来文件是否已增长?或者我需要
关闭()
并重新打开()来检查吗


有没有一种方法可以读取旧的
eof
而无需
close()
ing和重新
open()
ing?

虽然不可移植,但在linux上,您可以使用inotify系统并监视感兴趣文件的文件关闭事件。看


注意,仅仅因为文件被另一个进程关闭,并不一定意味着它的大小增加了。如果您关心文件大小的更改,请在关闭文件之前使用
stat()
检查大小更改。请参见

检查mtime,看看是否比打开文件时晚?看到了,可能是一副