1

代码是这样的:

int fd = open(filename, O_RDONLY);

“最大打开文件”为 1024。该进程可能打开数百个文件。一开始,它运作良好。过了一会儿,open返回0。我不知道为什么。帮助!!!提前谢谢!

ps: 不是int fd = open(filename, O_RDONLY) == -1;

4

3 回答 3

4

返回 0时open,它告诉您如果要使用刚刚打开的文件,应该使用 fd 0。

您是否可能关闭了标准输入?

于 2013-04-07T02:48:37.683 回答
0

admin 可以更改 ulimit 的一些参数 admin 可以设置“ulimit -n 2000”,每个进程的打开文件数可以是 2000

于 2013-04-07T02:55:55.693 回答
0

它返回 0 因为您在这里使用了关系运算符。Some == another 总是 0 或 1 在你的情况下,它告诉你 open 没有返回 -1。

于 2018-09-18T09:45:32.043 回答