Не получается получить насколько загружен процессор

Необходимо узнать насколько процентов загружен процессор указанным процессом по его 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;
}

Ответы (0 шт):