Приветствую Всех,
хотел бы спросить помощи, как или чем можно заменить getloadavg
У меня из-за отсутствия данной команды (пакета) не получается собрать другой.
Был бы благодарен, если бы вы смогли помочь дельным советом.
Вот что нашел рабочий вариант в другом скрипте
PHP Code:
int getloadavg(double loadavg[], int nelem)
{
char buf[65], *p;
ssize_t nread;
int i;
if (fd == -2)
fd = open("/proc/loadavg", O_RDONLY);
if (fd < 0)
return -1;
lseek(fd, 0, SEEK_SET);
nread = read(fd, buf, sizeof buf - 1);
if (nread < 0)
return -1;
buf[nread - 1] = '\0';
if (nelem > 3)
nelem = 3;
p = buf;
for (i = 0; i < nelem; ++i) {
char *endp;
loadavg[i] = strtod(p, &endp);
if (endp == NULL || endp == p)
/* This should not happen. The format of /proc/loadavg
must have changed. Don't return with what we have,
signal an error. */
return -1;
p = endp;
}
return i;
}
Помогите плз заменить вот этот код, на работающий
PHP Code:
int get_avg_data(struct cpu_data *_cpu)
{
double loadavg[3];
if(-1 == getloadavg(loadavg, 3)) return -1;
_cpu->one = (float) loadavg[0];
_cpu->two = (float) loadavg[1];
_cpu->three = (float) loadavg[2];
return 0;
}
Заранее благодарен.