8wDlpd.png
8wDFp9.png
8wDEOx.png
8wDMfH.png
8wDKte.png

对 stdin、stdout 和 stderr 感到困惑?

clearski 1月前

197 0

我对这三个文件的用途感到很困惑。如果我的理解正确的话,stdin 是程序写入其在进程中运行任务的请求的文件,stdout 是...

我对这三个文件的用途感到困惑。如果我的理解正确,它们 stdin 是程序写入其在进程中运行任务的请求的文件、 stdout 内核写入其输出以及请求它的进程从中访问信息的文件、以及 stderr 所有异常都输入到的文件。打开这些文件以检查这些是否确实发生,我发现似乎没有任何迹象表明如此!

我想知道的是这些文件到底有什么用途,用很少的技术术语来给出绝对简化的答案!

帖子版权声明 1、本帖标题:对 stdin、stdout 和 stderr 感到困惑?
    本站网址:http://xjnalaquan.com/
2、本网站的资源部分来源于网络,如有侵权,请联系站长进行删除处理。
3、会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。
4、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
5、站长邮箱:yeweds@126.com 除非注明,本帖由clearski在本站《symfony》版块原创发布, 转载请注明出处!
最新回复 (0)
  • 我认为人们说 stderr 只应用于错误消息是误导。

    它还应该用于为运行命令的用户提供信息性消息,而不是为数据的任何潜在下游消费者提供信息性消息(例如,如果您运行链接多个命令的 shell 管道,您不希望出现诸如“获取 42424 项中的第 30 项”之类的信息性消息, stdout 因为它们会让消费者感到困惑,但您可能仍希望用户看到它们。

    请参阅 此内容 以了解历史原因:

    \'所有程序都将诊断信息放在标准输出上。当输出重定向到文件时,这总是会造成麻烦,但当输出发送到毫无防备的进程时,这种情况就变得无法容忍了。尽管如此,人们不愿意破坏标准输入标准输出模型的简单性,所以在 v6 中容忍了这种情况。此后不久,丹尼斯·里奇 (Dennis Ritchie) 通过引入标准错误文件解决了这一难题。但这还不够。有了管道,诊断信息可以来自同时运行的多个程序中的任何一个。诊断信息需要自我识别。\'

返回
作者最近主题: