портативная библиотека информации о системе/процессе

Вот является алгоритм stackoverflow использованием, но переписанный более кратко в погибают псевдокод с исправлением ошибки (не "часы назад"). Функция берет (положительное) количество несколько секунд назад и возвращает человечески-благоприятную строку как "3 часа назад" или "вчера".

agoify($delta)
  local($y, $mo, $d, $h, $m, $s);
  $s = floor($delta);
  if($s<=1)            return "a second ago";
  if($s<60)            return "$s seconds ago";
  $m = floor($s/60);
  if($m==1)            return "a minute ago";
  if($m<45)            return "$m minutes ago";
  $h = floor($m/60);
  if($h==1)            return "an hour ago";
  if($h<24)            return "$h hours ago";
  $d = floor($h/24);
  if($d<2)             return "yesterday";
  if($d<30)            return "$d days ago";
  $mo = floor($d/30);
  if($mo<=1)           return "a month ago";
  $y = floor($mo/12);
  if($y<1)             return "$mo months ago";
  if($y==1)            return "a year ago";
  return "$y years ago";
6
задан user142968 22 July 2009 в 16:21
поделиться

2 ответа

Эта информация должна быть получена из ОС.
По определению это непереносимо, но существует несколько уровней абстракции ОС. На ум приходит ACE .

0
ответ дан 17 December 2019 в 22:14
поделиться

Я не могу помочь вам с полным решением, но вот ссылка на мой класс CPULoadMeter, который вы можете использовать для опроса информации об использовании ЦП с течением времени. Он работает под MacOS / X, Windows и Linux (и, возможно, с другими ОС Unixy, которые также имеют / proc / stat, я не знаю). Возможно, вы сможете использовать его в качестве отправной точки.

https://public.msli.com/lcs/muscle/muscle/util/CPULoadMeter.h https://public.msli.com/lcs/muscle /muscle/util/CPULoadMeter.cpp

1
ответ дан 17 December 2019 в 22:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: