gpt4 book ai didi

linux - 文件的标准错误;但没有缓冲

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:12:26 25 4
gpt4 key购买 nike

我正在尝试隔离一个严重的错误,它会导致我的 Linux 内核崩溃。我正在将消息打印到 stderr,stderr 被重定向到日志文件。有没有办法禁用文件访问缓冲?当内核挂起时,我正在丢失缓冲区中的消息。

最佳答案

实际上,stderr 默认是无缓冲的,但我认为这只是在 C 运行时方面。我们之前已经解决了这个问题:

fflush (stderr); fsync (fileno (stderr));

(虽然我们实际上是针对 stdout 执行的,但适用相同的规则 - stderr 可能不需要实际的 fflush,但确实如此没有伤害)。

fflush 将 C 运行时缓冲区刷新到操作系统,fsync 强制写入磁盘。

请记住,这可能会严重影响您的表现。

关于linux - 文件的标准错误;但没有缓冲,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2919522/

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