linux open返回0

问题描述 投票:1回答:3

代码是这样的:

int fd = open(filename, O_RDONLY);

“max open files”是1024.该过程可能会打开数百个文件。一开始,它运作良好。过了一会儿,打开返回0.我不知道为什么。救命!!!谢谢提前!

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

linux system-calls
3个回答
4
投票

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

你有没有关闭stdin?


0
投票

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


0
投票

它返回0,因为您在此处使用了关系运算符。某些东西==另一个总是0或1在你的情况下,它告诉你open didnt返回-1。

© www.soinside.com 2019 - 2024. All rights reserved.