我有客户端 - 服务器应用程序。服务器在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
答案 0 :(得分:5)
不,它将被操作系统关闭。当您的进程退出时(无论是干净还是强制),内核都会清理所有悬空手柄。