我有一个闭源程序,它将输出打印到标准输出。我需要解析输出。所以我用dup2将输出重定向到一个FIFO中(在父进程中可以读取,该父进程又fork和exec二进制文件),然后执行程序。问题是文件中的fprintf调用现在因为写入文件而被缓冲了。
在调用exec之前,我尝试使用_IONBF参数在stdout上调用setvbuf函数,但问题仍然存在。
为什么setvbuf在我的情况下没有帮助?
如何强制刷新输出?
在调用exec之前,我尝试使用_IONBF参数在stdout上调用setvbuf函数,但问题仍然存在。
为什么setvbuf在我的情况下没有帮助?
如何强制刷新输出?