|
|
@ -5,24 +5,45 @@ |
|
|
|
#include <stdio.h> |
|
|
|
#include <unistd.h> |
|
|
|
#include <stdlib.h> |
|
|
|
#include <string.h> |
|
|
|
|
|
|
|
#include "funcs.h" |
|
|
|
#include "core/utils.h" |
|
|
|
|
|
|
|
int verbosity; |
|
|
|
int verbosity; |
|
|
|
|
|
|
|
/* --------------------------------------------------------------- */ |
|
|
|
|
|
|
|
int get_loadavg(double *where) |
|
|
|
{ |
|
|
|
FILE *fp; |
|
|
|
double loads[3]; |
|
|
|
int foo; |
|
|
|
|
|
|
|
if ( ! (fp=fopen("/proc/loadavg", "r")) ) { |
|
|
|
perror("read loadavg"); |
|
|
|
return -1; |
|
|
|
} |
|
|
|
|
|
|
|
foo = fscanf(fp, "%lf %lf %lf", loads, loads+1, loads+2); |
|
|
|
if (3 != foo) fprintf(stderr, "%s : read %d vals\n", __func__, foo); |
|
|
|
|
|
|
|
memcpy(where, loads, 3 * sizeof(double)); |
|
|
|
|
|
|
|
fclose(fp); |
|
|
|
|
|
|
|
return 0; |
|
|
|
} |
|
|
|
|
|
|
|
/* --------------------------------------------------------------- */ |
|
|
|
|
|
|
|
int main(int argc, char *argv[]) |
|
|
|
{ |
|
|
|
int opt, foo; |
|
|
|
int type = 0; |
|
|
|
double loads[3]; |
|
|
|
|
|
|
|
while ((opt = getopt(argc, argv, "vst:")) != -1) { |
|
|
|
while ((opt = getopt(argc, argv, "v")) != -1) { |
|
|
|
switch (opt) { |
|
|
|
case 'v': verbosity++; break; |
|
|
|
case 's': srand(getpid()); break; |
|
|
|
case 't': type = atoi(optarg); break; |
|
|
|
default: break; |
|
|
|
} |
|
|
|
} |
|
|
|