如何创建额外的基于终端的输出流?

发布于 2025-01-10 19:34:57 字数 467 浏览 0 评论 0原文

如何创建一个连接到终端以获取调试消息的附加文件描述符?我想要像标准输出/错误流(stdout/stderr )。为了清楚起见,我将这个新流称为 spdbg(用于“特殊调试”)。我考虑过使用 dup() 来复制 stdout/stderr 流,但如果该流被重定向到文件,则意味着 spdbg 也被重定向到同一个文件,这是我不想要的。相反,我希望 spdbg 重定向到终端,就像 stdout/stderr 最初所做的那样。换句话说,如果 stdout/stderr 被重定向到文件,则 spdbg 仍应指向终端。但是,如果用户愿意,spdbg 仍然可以重定向到文件。

How would I create an additional file descriptor that connects to the terminal for debug messages? I'd like something just like standard out/error streams (stdout/stderr). For clarity sake, I'll call this new stream spdbg (for "special debug"). I thought about using dup() to duplicate the stdout/stderr stream, but if that stream gets redirected to a file then that means spdbg also gets redirected to the same file, which I don't want. Instead, I'd like spdbg to redirect to the terminal, just like stdout/stderr initially do. In other words, if stdout/stderr gets redirected to a file, then spdbg should still point to the terminal. However, spdbg can still be redirected to a file, if the user wishes to do so.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文