1
276
-这就是 文件句柄 你的进程读取以从你那里获取信息。 标准输出 -您的进程将常规输出写入此文件句柄。 -进程将诊断输出写入此文件句柄。 这是我能做的最简单的事情:-)
当您的进程启动时,它应该已经打开了这些句柄,并且可以对它们进行读取和/或写入。
默认情况下,它们可能连接到您的终端设备(例如。,
例如:
因为它们不是普通的文件。当UNIX呈现
一切
作为某个文件系统中的一个文件,这并不意味着它处于最低级别。中的大多数文件
当您打开它们时,您连接到的是设备驱动程序而不是物理文件,并且设备驱动程序足够聪明,知道应该单独处理单独的进程。
|
2
69
这样说更为正确
大多数程序需要读取输入、写入输出和记录错误,所以
|
3
59
|
4
26
恐怕你的理解完全颠倒了 从这个角度考虑“标准输入”、“标准输出”和“标准误差” 程序的
当程序需要打印输出时,它通常打印到“标准输出”。程序通常打印输出到标准输出
当文件需要读取输入时,使用“standard in”
或者,整个enchilada:
有两个重要的警告:第一,“标准输入”、“标准输出”和“标准错误”只是一个约定。他们是一个
非常强壮
惯例,但这只是一个协议,能够运行这样的程序非常好:
其次,我给出了处理文件流的标准isoc函数(
|
5
12
标准在C中与scanf一起使用
标准向控制台生成输出。 在C中与printf一起使用
标准错误产生“错误”输出到控制台。
可以重定向stdin的源。例如,它可以来自文件,而不是来自键盘输入(
|
6
10
我想人们会说
它还应用于为运行命令的用户而不是为数据的任何潜在下游使用者提供信息的消息(即,如果运行一个shell管道链接多个命令,则不希望出现“获取424的第30项”之类的信息消息)
看到了吗 this
|
7
4
有关这些文件的权威信息,请查看手册页,在终端上运行命令。
标准 一条小溪流出来 标准 对于流输入 标准错误 用于打印错误或日志消息。 每个unix程序都有这些流中的每一个。 |
8
3
使用ps-aux可以显示当前进程,所有这些进程都列在/proc/as/proc/(pid)/,通过调用cat/proc/(pid)/fd/0,它可以打印我认为在该进程的标准输出中找到的任何东西。所以也许,
例如
但只有在/bin/bash中工作得这么好其他进程通常在0中没有任何内容,但许多进程在2中编写了错误 |
9
2
stderr不会进行IO缓存缓冲,因此如果我们的应用程序需要将关键消息信息(一些错误、异常)打印到控制台或文件中,那么使用stdout打印常规日志信息就像使用IO缓存缓冲一样,在将消息写入文件之前,应用程序可能会关闭,从而导致调试复杂 |
10
0
具有相关缓冲区的文件称为流,并声明为指向已定义类型文件的指针。函数的作用是:为一个流创建特定的描述性数据,并返回一个指针来指定所有后续事务中的流。通常有三个开放的流,它们的头中声明了常量指针,并与标准的开放文件相关联。 |
11
0
这是一篇关于
总结一下:
具有讽刺意味的是,我在stack overflow和上面的文章中发现了这个问题,因为我正在搜索关于异常/非标准流的信息。所以我的搜索还在继续。 |
jjmerelo · 使用Proc::Async从绑定管道读取 6 年前 |
hytromo · 更新不只是最后一行输出 6 年前 |
Rob S. · 从python spawn子进程接收连续输出不工作 6 年前 |
Wolfat · 无法从C中的管道执行读取? 6 年前 |
Cloud · 将所有stdout/stderr全局重定向到记录器 6 年前 |
Lansana Camara · SSH,运行进程,然后忽略输出 6 年前 |