Не получается получить насколько загружен процессор
Необходимо узнать насколько процентов загружен процессор указанным процессом по его PID. Написал пару функций, но вроде считает неправильно. Помогите разобраться. Привожу пример своего кода. В нем есть функция getWhatIDontKnow(QString, int). в неё передается текст и номер слова которое ей нужно вернуть (рабоатет правильно)
int ADTComponent::getSumUtimeAndStime(int pid)
{
QFile FileStat(procf + '/' + QString::number(pid) + statf);
if (!FileStat.open(QIODevice::ReadOnly | QIODevice::Text)) {
qDebug() << "Cant open file : " << procf + '/' + QString::number(pid) + statf;
return -1;
}
QTextStream in(&FileStat);
QString line = in.readLine();
FileStat.close();
return getWhatIDontKnow(line, 14).toInt() + getWhatIDontKnow(line, 15).toInt();
}
float ADTComponent::getProct(int pid)
{
float res = 0;
float before = getSumUtimeAndStime(pid);
qDebug() << before;
QThread::msleep(1000);
float after = getSumUtimeAndStime(pid);
qDebug() << after;
res = 100*(after - before)/100;
return res;
}