Blame examples/proclist.c
|
Packit Service |
407539 |
#include <glibtop.h>
|
|
Packit Service |
407539 |
#include <glibtop/proclist.h>
|
|
Packit Service |
407539 |
#include <glibtop/procstate.h>
|
|
Packit Service |
407539 |
#include <glibtop/proctime.h>
|
|
Packit Service |
407539 |
#include <glibtop/procuid.h>
|
|
Packit Service |
407539 |
|
|
Packit Service |
407539 |
#include <glib.h>
|
|
Packit Service |
407539 |
|
|
Packit Service |
407539 |
#include <stdio.h>
|
|
Packit Service |
407539 |
|
|
Packit Service |
407539 |
#include <unistd.h>
|
|
Packit Service |
407539 |
#include <sys/types.h>
|
|
Packit Service |
407539 |
|
|
Packit Service |
407539 |
|
|
Packit Service |
407539 |
static void print_pids(guint64 which, guint64 arg)
|
|
Packit Service |
407539 |
{
|
|
Packit Service |
407539 |
pid_t *pids;
|
|
Packit Service |
407539 |
unsigned i;
|
|
Packit Service |
407539 |
glibtop_proclist buf;
|
|
Packit Service |
407539 |
|
|
Packit Service |
407539 |
pids = glibtop_get_proclist(&buf, which, arg);
|
|
Packit Service |
407539 |
|
|
Packit Service |
407539 |
for (i = 0; i < buf.number; ++i) {
|
|
Packit Service |
407539 |
glibtop_proc_time ptime;
|
|
Packit Service |
407539 |
glibtop_proc_uid puid;
|
|
Packit Service |
407539 |
glibtop_proc_state pstate;
|
|
Packit Service |
407539 |
|
|
Packit Service |
407539 |
pid_t p = pids[i];
|
|
Packit Service |
407539 |
|
|
Packit Service |
407539 |
glibtop_get_proc_time(&ptime, p);
|
|
Packit Service |
407539 |
glibtop_get_proc_uid(&puid, p);
|
|
Packit Service |
407539 |
glibtop_get_proc_state(&pstate, p);
|
|
Packit Service |
407539 |
|
|
Packit Service |
407539 |
/* almost equivalent to ps -x -o user,pid,time,usertime,systime,start,command */
|
|
Packit Service |
407539 |
printf("%u pid=%u real=%.2f user=%.2f sys=%.2f start=%lu %s (%lx)\n",
|
|
Packit Service |
407539 |
puid.uid,
|
|
Packit Service |
407539 |
p,
|
|
Packit Service |
407539 |
(double)ptime.rtime / ptime.frequency,
|
|
Packit Service |
407539 |
(double)ptime.utime / ptime.frequency,
|
|
Packit Service |
407539 |
(double)ptime.stime / ptime.frequency,
|
|
Packit Service |
407539 |
(unsigned long)ptime.start_time,
|
|
Packit Service |
407539 |
pstate.cmd,
|
|
Packit Service |
407539 |
(long)ptime.flags);
|
|
Packit Service |
407539 |
}
|
|
Packit Service |
407539 |
|
|
Packit Service |
407539 |
g_free(pids);
|
|
Packit Service |
407539 |
}
|
|
Packit Service |
407539 |
|
|
Packit Service |
407539 |
|
|
Packit Service |
407539 |
int main()
|
|
Packit Service |
407539 |
{
|
|
Packit Service |
407539 |
glibtop_init();
|
|
Packit Service |
407539 |
|
|
Packit Service |
407539 |
print_pids(GLIBTOP_KERN_PROC_UID, getuid());
|
|
Packit Service |
407539 |
|
|
Packit Service |
407539 |
glibtop_close();
|
|
Packit Service |
407539 |
|
|
Packit Service |
407539 |
return 0;
|
|
Packit Service |
407539 |
}
|