【发布时间】:2012-02-10 07:20:56
【问题描述】:
系统中可以同时打开的 z/OS UNIX 管道的数量限制为 8,730。我写了一个程序来测试是否可以达到这个限制。这个程序我执行了很多次,结果显示第8727个管道的创建会失败。
我猜当 UNIX 程序开始执行时,有 3 个定义良好的管道用于 STDIN、STDOUT、STDERR。但是我找不到任何提到“默认管道”的文档,所以我想知道我的猜测是否正确?
【问题讨论】:
-
澄清一下——你说的是流还是管道? stdin/out/err 是文件 I/O 流;在 UNIX 中,管道是一种特殊类型的文件(如下 Jim McNamara 所述)。
-
@zarchasmpgmr:我只谈管道。
-
再次澄清:你说的是管道还是文件描述符?每个管道使用两个文件描述符,并且通常对文件描述符具有每个进程的限制。鉴于 stdin、stdout 和 stderr 将消耗 3 个可用的 fd,也许这就是您所说的。
标签: unix operating-system pipe zos