【问题标题】:what's the relationship between /dev/tty and stdin/stdout/stderr?/dev/tty 和 stdin/stdout/stderr 之间有什么关系?
【发布时间】:2017-06-08 03:20:08
【问题描述】:

我知道他们有不同的文件描述符,stdxx 可以重定向。

int tty_fd = open("/dev/tty", O_RDWR);

那么,下面的代码有什么不同(stdxx 没有重定向):

n = read(tty_fd, buf, sizeof(buf));
n = read(STDIN_FILENO, buf, sizeof(buf));

n = write(tty_fd, buf, sizeof(buf));
n = write(STDOUT_FILENO, buf, sizeof(buf));

stdxx 是否与 /dev/tty 的链接相同?

【问题讨论】:

  • 如果没有重定向,没有区别。但是你的程序怎么知道没有重定向呢?

标签: linux stdout stdin stderr tty


【解决方案1】:

除非没有重定向,否则“/dev/tty”将用于显示标准输出或标准错误。您可以选择性地将您的 stdout/stderr 输出到 /dev/tty 以外的不同文件描述符上。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-02-18
    • 2013-05-13
    • 1970-01-01
    • 1970-01-01
    • 2011-05-14
    • 2014-03-06
    • 1970-01-01
    • 2017-04-02
    相关资源
    最近更新 更多