gpt4 book ai didi

c++ - 可以在没有终端的情况下在 Unix 进程上写入标准输出吗?

转载 作者:行者123 更新时间:2023-11-28 03:30:02 33 4
gpt4 key购买 nike

我想确保以下内容不会影响我的流程:

Solaris 程序大量写入标准输出(通过 C++ wcout 流)。输出用于跟踪,因此在测试和分析期间,程序员/测试人员可以很容易地观察到发生了什么。但该程序实际上是一个服务器进程,因此在生产版本中它将作为没有附加控制台的恶魔运行并将所有跟踪输出写入文件。

我假设对于没有控制台的程序,stdout 被重定向到 nul,在这种情况下,我想一切都很好。但是,我想确保 stdout 输出没有在某处缓冲,这样在足够的运行时间后我们可能会遇到内存或磁盘空间问题。

注意:我们不能将跟踪输出重定向到文件,因为这会变得太大。相反,我们自己的文件跟踪机制可确保创建新文件并删除旧文件,以始终保持一定数量的跟踪,而不是更多。

最佳答案

我想这取决于守护进程是如何启动的。创建守护进程时,必须以某种方式 处理流(例如,它们需要与当前进程分离,至少守护进程必须在 shell 从中终止时终止)它是手动启动退出)。

关于c++ - 可以在没有终端的情况下在 Unix 进程上写入标准输出吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12836277/

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