我知道fork(2)的操作系统一个进行可以有9个文件描述,在bash中0,1,2是标准输入,输出,错误,还有6个自定义文件描述符。我看书上说ruby的IO是基于UNIX的。我想问到底一个ruby进程是否只能打开9个IO对象(所谓的9个文件描述符所对应的IO对象)。这几天想这个想得头都大了。。。
各位大虾实在对不住我想给大家多点积分,可是小弟这个菜鸟,能回答的问题真是有限,所以没赚到积分。悲剧了
一个ruby进程能同时开几个IO对象啊
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
1条回答 默认 最新
zaqwsxedc 2010-05-05 22:24关注我做了个实验,代码如下:
[code="ruby"]
files = []
1.upto(9999) { |i| files << File.open(i.to_s,'w') }
[/code]得到了这样的错误:
[quote]
Errno::EMFILE: Too many open files - 254
[/quote]看样子,最多能打开253个吧。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报