代码是这样的:
int fd = open(filename, O_RDONLY);
“max open files”是1024.该过程可能会打开数百个文件。一开始,它运作良好。过了一会儿,打开返回0.我不知道为什么。救命!!!谢谢提前!
ps:这不是int fd = open(filename, O_RDONLY) == -1;
当open
返回0时,它告诉您如果要使用刚打开的文件,则应使用fd 0。
你有没有关闭stdin?
admin可以更改ulimit的一些参数admin可以设置“ulimit -n 2000”,每个进程的打开文件数可以是2000
它返回0,因为您在此处使用了关系运算符。某些东西==另一个总是0或1在你的情况下,它告诉你open didnt返回-1。