我的应用程序退出,因为它占用了太多的文件描述符。所以我使用gdb来调试我的程序。当我使用fflush函数时,我发现文件描述符数增加了。
例如:
// before fflush
// ll /proc/13593/fd/* | grep "send\.dat" | wc -l
// 7
fflush(pFile);
// after fflush
// ll /proc/13593/fd/* | grep "send\.dat" | wc -l
// 8进程id为13593。变量pFile指向文件send.dat。
有人能告诉我原因吗?非常感谢。
发布于 2014-05-08 16:25:03
fflush不会创建新的文件描述符。
您可能一直在重新打开该文件,但却忘记了关闭它。
https://stackoverflow.com/questions/23536058
复制相似问题