我有客户机-服务器应用程序。服务器在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/

10-12 02:14