Linux会自动关闭文件吗?

时间:2014-12-07 13:09:16

标签: c linux dirent.h

我正在创建一个调度软件,我在文本文件中描述了数百个数据集。 我使用带有循环的dirent.h来读取文本文件,为每个文件制作一个时间表并将结果附加到另一个文本文件(如cpu时间,数据集名称,迟到......),此文件对所有时间表都是通用的。

我只打开/关闭结果文件一次(循环前fopen(),完成所有计划后循环后fclose()

我在Windows 7上没有问题,但是在Linux下,由于某种超时,系统似乎关闭了该文件,我只安排了9-10个数据集(~2)小时)以及它被卡住后因为它无法写入结果文件:/

有没有人遇到过这种麻烦并找到了解决方案?

1 个答案:

答案 0 :(得分:1)

Linux不会自动关闭文件。你的代码出了点问题。

尝试使用“strace”运行您的程序,并确定close()发生的位置。

strace -f -o 1.txt ./my_best_app_ever

使用文本编辑器(或1.txt)打开less文件,看看您的应用正在做什么。