0
我有客戶端 - 服務器應用程序。服務器是C. 服務器有這樣的結構:
在C中打開文件描述符
int main (...) {
FILE * fp;
fp = fopen("serverLog.log","w");
//init variables
//bind server
//listen server on port
while(1) {
//some code
//accept
//some code
int check = pthread_create(&thread, NULL, handle_client,&ctx);
}
fclose(fp);
return EXIT_SUCCSESS;
}
我運行服務器,並使用CTRL + C關閉服務器。 filedescriptor fd會發生什麼?我想,它保持開放。如果是的話,我該怎麼做? Thx
與此問題類似:http://stackoverflow.com/questions/8175827/what-happens-if-i-dont-call-fclose-in-ac-program - 如果你退出程序,它的資源(內存,文件描述符)應該被操作系統回收。 – birryree 2012-03-07 20:53:51