引言
与数据文件有关的应用软件一般都会有硬盘检测与文件清理的功能。
本文代码实现在Linux系统下使用Qt编写的硬盘监测与文件清理模块。
代码之路
当内存占比大于85%时,会进行文件的删除,保留最新的半年来的文件。
内存监测部分的实现,是定期执行Linux的shell命令(df -k);
文件删除比较简单,使用QDir::entryInfoList函数与QFileInfo函数的配合。
废话不说,直接上代码。
硬盘空间监测函数:
bool SysResource::get_disk_space()
{
QProcess process;
process.start("df -k");
process.waitForFinished();
process.readLine();
while(!process.atEnd())
{
QString str = process.readLine();
if (str.startsWith("/dev/root"))
{
str.replace("\n", "");
str = str.simplified();
auto lst = str.split(" ");
if (lst.size() > 5)
{
QString tmpPercent = lst[4].toString();
QString PercentStr = tmpPercent.left(tmpPercent.size() - 1);
int PercentInt = QString::number(PercentStr);
if (PercentInt > 85)
{
qDebu