#include #include #include #include #include #include #include "common.h" void set_id( struct inf_t *data ) { data->id.gid = getgid(); data->id.pid = getpid(); data->id.uid = getuid(); } int update_inf( struct inf_t *data, time_t start ) { data->time = (double)(time(NULL) - start); if( getloadavg( data->loadavg, 3) < 0 ) { return -1; } return 0; } #define TEMPLATE_ID "PID: %5d\tGID: %5d\tUID: %5d\n" #define TEMPLATE_TIME "TIME: %.2f\n" #define TEMPLATE_LOAD "LOAD 5: %.4f\tLOAD 10: %.4f\tLOAD 15: %.4f\n" void print_inf( struct inf_t *data ) { printf( TEMPLATE_ID TEMPLATE_TIME TEMPLATE_LOAD, data->id.pid, data->id.gid, data->id.uid, (double)data->time, data->loadavg[0], data->loadavg[1], data->loadavg[2] ); }