gpt4 book ai didi

c - 在不关闭工作的情况下重新读取正在/proc 中更新的文件吗?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:10:19 27 4
gpt4 key购买 nike

我正在重新读取 /proc/stat 文件以获取更新后的值。首先,我打开文件,读取每一行,关闭文件并重新打开以获取更新的值。我想知道是否需要关闭文件,或者我可以通过寻找文件的开头来达到同样的效果。我写了一个没有关闭文件的代码,而是将文件指针指向文件的开头,它像以前一样工作。但我想知道,是否将寻求文件的开头保证我将获得更新的信息?

编辑:还有一点,我正在寻找和读取之间 sleep 。

虽然这个问题不是特定于语言的,但这里是上下文中的实现语言:C、Perl。

编辑

这是我写的代码。

while ()
{
open (STAT, "/proc/stat") or die "Cannot open /proc/stat\n";
while (<STAT>)
{
#Stuff here
}
close (STAT);
sleep 1;
}

对比

open (STAT, "/proc/stat") or die "Cannot open /proc/stat\n";
while ()
{
seek STAT, SEEK_SET, 0;
while (<STAT>)
{
#Stuff here
}
sleep 1;
}
close (STAT);

哪个更好?

最佳答案

这两个都应该有效。 seek 应该 清除文件句柄上的 EOF 标志,以便您可以第二次读取它,但是如果您需要绝对确定您得到的是新副本,我会关闭并重新打开。

参见 seek了解更多信息。

关于c - 在不关闭工作的情况下重新读取正在/proc 中更新的文件吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17671735/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com