在类似Unix的系统上,打开套接字(获取文件描述符)。
stderr如果尚未使用stderr,则可以简单地使用dup2()将套接字插入输出通道。即使您已将一些数据发送到原始数据,也可以执行此操作stderr。评论中关于使用的建议fflush()可能是相关的,尽管stderr通常没有缓冲,而不是完全缓冲(因此通常没有要刷新的内容)。
该freopen()功能可用于更改流的输出,例如stderr(特别是)。嗯,您freopen()能用来映射stderr到/dev/fd/N套接字的文件描述符N吗?是的,您可能可以。
重新阅读您的问题-我看不到stderr。因此,该fdopen()函数从文件描述符创建流。因此,如果您可以指定要写入的日志记录流,那么您就到了。如果您不能指定它但可以看到它,那么freopen()上面的技巧也应该在这里起作用。