【问题标题】:In Linux, why is there a global /dev/stdin file for all processes?在 Linux 中,为什么所有进程都有一个全局 /dev/stdin 文件?
【发布时间】:2016-08-05 13:12:24
【问题描述】:

不同进程的标准输入不应该是唯一的吗?如果是这样,stdin文件的路径不应该像/dev/pid/stdin而不是全局/dev/stdin吗?

有人对此有想法吗?

【问题讨论】:

  • 但它每个进程唯一的。
  • 我投票结束这个问题,因为它不是关于编程的。也许改为请求迁移到unix.stackexchange.com(但首先检查那里的重复项)。
  • 没有。 /dev/stdin 是指向/proc/self/fd/0 的符号链接。
  • @duskwuff 在 OSX 上,它是 /dev/fd/0 的符号链接
  • @duskwuff 让我更困惑的是/proc/self 如何链接到不同进程的不同文件...

标签: linux unix operating-system stdin


【解决方案1】:

/dev/stdin 是独一无二的,因为

  • 它是指向/proc/self/fd/0 的符号链接
  • /proc/self 是一个符号链接只有你的运行进程可以看到 its process-id

/proc 文件系统是一个虚拟(不是真实)文件系统,它能够显示对每个过程都有不同的看法。

进一步阅读:

【讨论】:

    猜你喜欢
    • 2014-04-22
    • 2013-10-11
    • 2021-10-22
    • 1970-01-01
    • 2012-09-03
    • 2023-04-09
    • 1970-01-01
    • 2016-06-15
    • 1970-01-01
    相关资源
    最近更新 更多