可以在系统中同时打开的z / OS UNIX管道数量限制为8,730。我写了一个程序来测试是否可以达到这个限制。我多次执行这个程序,结果显示第8727个管道的创建将失败。
我猜在UNIX程序开始执行时定义了3个定义明确的STDIN,STDOUT,STDERR管道。但我找不到任何提到“默认管道”的文件,所以我想知道我的猜测是否正确?
答案 0 :(得分:1)
如果这是系统范围的限制,那么其他一些其他进程就会打开管道。
通过管道你的意思是fifos,它是一种特殊类型的文件,stream(stdin,stdout,stderr)不会像管道一样开始生命,但它们可以被重定向到管道。请参阅你的man dup()页面和mkfifo()。
答案 1 :(得分:0)
你的猜测是正确的。它们被称为standard streams。
在Unix和类Unix操作系统(以及某种程度上的Windows)以及某些编程语言接口中,标准流是预先连接的计算机程序之间的输入和输出通道。它的环境(通常是文本终端)在开始执行时。三个I / O连接称为标准输入(stdin),标准输出(stdout)和标准错误(stderr)。