我正在使用 HP-UX。我想禁用标准输出上的缓冲,以确保在使用以下命令进行核心转储时打印每一行代码:
setvbuf(stdout, NULL, _IONBF, 0); // turn off buffering for stdout
在这种情况下,它是否还会影响打印到正在重定向到某个日志文件的标准输出的其他进程?我想知道此更改是否仅适用于正在执行的进程。另外,我可以禁用进程中的缓冲,然后在代码中再次设置 _IO_FBF 吗?(每次通话前刷新)
PS:我知道这将禁用缓冲并具有更差的 I/O 性能,但我只想出于调试目的这样做。