获取移动硬盘空间状况的一点教训
笔者在开发PVR产品的项目中,为了得到使用的移动硬盘的空间使用情况,比如总的容量有多大,用了多少等。首先我是用linux下的df命令做的,确实可以得到移动硬盘的空间使用状况,但是我是吧df命令后的输入重定向到一个文件中,再分析文件来提取出来的,这样在调试过程中是出生在服务器的硬盘上,短时间不会出现什么问题。因为涉及动态获取空间状况来决定我们的任务控制,比如TIMESHIFT,刻录任务的停止控制,都依赖于空间状况。我们在开发拷机过程中,发现长时间容易引起死机,因为调用df目令再导入文件,实际是在写flash,因为频率还是比较快的,每10秒写一次,我们在超过一小时的timeshift过程中就会遇到死机状况,这个时间不定,有时长到40个小时也不死,有时一个小时就死机。后面我们该用statfs来获取空间情况信息,也能满足应用需求,拷机表现来说,未遇到这样的司机情况。所以我觉得在开发这些产品中,能不写文件的,尽量不要写文件,可以去读文件,分析文件,涉及到写文件的话,太频繁的话可能引起死机这些严重现象。