코드는 다음과 같이이다 :리눅스 열려있는 0을 반환
int fd = open(filename, O_RDONLY);
"최대 열려있는 파일은"이 프로세스는 수백 개의 파일을 열 수 1024입니다. 처음에는 잘 작동합니다. 잠시 후, open은 0을 반환합니다. 이유는 모르겠습니다. 도움!!! 감사합니다.
추신 : open
0을 반환, 당신이 방금 연 파일을 사용하려는 경우 FD 0을 사용해야 함을 말하고 때 int fd = open(filename, O_RDONLY) == -1;
될 수 있습니다 변화? 내 말은, 언제든지 1024 개 이상의 열린 파일을 가지고 있지 않다는 것입니다. –
열려있는 파일이 너무 많으면 -1을 반환하고 errno는 EMFILE로 설정되어야합니다. – user2253605
네, 그리고 뭔가 다른 의미 .. 아, 여기에 거의 6am있어. 잠을 자 : D 여기 좀 봐 (그리고 그 질문에 대답을 허용), 문제는 매우 유사합니다 : http://stackoverflow.com/ 질문/2135159/socket-returns-0-c-client-server-app –