#include "sysdata.h" int sysproc(Tbl **procsp)
void show_pidinfo ( int hdr, Pidstat *p ) { char *s, *t ; if ( hdr ) { printf ( " pid ppid uid %%cpu size " "rss state cpu time children time\n" ) ; } printf ( " %5d %5d %5d %6.2f%% %8.2f %8.2f %-8s %-15s %-15s\n", p->pid, p->ppid, p->uid, p->pcpu, p->size/1024., p->rss/1024., p->state, s=strtdelta(p->cputime), t=strtdelta(p->ccputime) ) ; free(s) ; free(t) ; } . . . Tbl *procs ; Pidstat *p ; . . . for ( j=0 ; j<n ; j++ ) { sysproc ( &procs ) ; for ( i=0 ; i<maxtbl(procs) ; i++ ) { p = (Pidstat *) gettbl(procs, i) ; show_pidinfo ( i==0, p ) ; } sleep(1) ; }
pidcmdline(3) pidinfo(3)