我有客户机-服务器应用程序。服务器在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会发生什么情况?我想,它会一直开着。如果是的话,我该怎么办?
谢谢
最佳答案
不,它将被操作系统关闭。当您的进程退出(无论是干净或强制)内核将清理所有悬空句柄。
关于c - 在C中打开文件描述符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9608825/