static void showtop(int cputimemode, int r) { #define NLOADS 3 double loads[NLOADS]; int nloads, lines = 0; struct winsize winsize; if(ioctl(STDIN_FILENO, TIOCGWINSZ, &winsize) != 0) { perror("TIOCGWINSZ"); fprintf(stderr, "TIOCGWINSZ failed\n"); exit(1); } get_procs(); if (prev_proc == NULL) get_procs(); if((nloads = getloadavg(loads, NLOADS)) != NLOADS) { fprintf(stderr, "getloadavg() failed - %d loads\n", nloads); exit(1); } printf("%s", Tclr_all); lines += print_load(loads, NLOADS); lines += print_proc_summary(proc); lines += print_memory(); if(winsize.ws_row > 0) r = winsize.ws_row; print_procs(r - lines - 2, prev_proc, proc, cputimemode); fflush(NULL); }
void showtop(int r) { #define NLOADS 3 double loads[NLOADS]; int nloads, i, p, lines = 0; static struct proc prev_proc[PROCS], proc[PROCS]; struct winsize winsize; static struct pm_mem_info pmi; static int prev_uptime, uptime; static struct mproc mproc[NR_PROCS]; struct tms tms; uptime = times(&tms); if(ioctl(STDIN_FILENO, TIOCGWINSZ, &winsize) != 0) { perror("TIOCGWINSZ"); fprintf(stderr, "TIOCGWINSZ failed\n"); exit(1); } if(getsysinfo(PM_PROC_NR, SI_MEM_ALLOC, &pmi) < 0) { fprintf(stderr, "getsysinfo() for SI_MEM_ALLOC failed.\n"); exit(1);; } if(getsysinfo(PM_PROC_NR, SI_KPROC_TAB, proc) < 0) { fprintf(stderr, "getsysinfo() for SI_KPROC_TAB failed.\n"); exit(1); } if(getsysinfo(PM_PROC_NR, SI_PROC_TAB, mproc) < 0) { fprintf(stderr, "getsysinfo() for SI_PROC_TAB failed.\n"); exit(1); } if((nloads = getloadavg(loads, NLOADS)) != NLOADS) { fprintf(stderr, "getloadavg() failed - %d loads\n", nloads); exit(1); } printf("%s", Tclr_all); lines += print_load(loads, NLOADS); lines += print_proc_summary(proc); lines += print_memory(&pmi); if(winsize.ws_row > 0) r = winsize.ws_row; print_procs(r - lines - 2, prev_proc, proc, uptime-prev_uptime, mproc); memcpy(prev_proc, proc, sizeof(prev_proc)); prev_uptime = uptime; }
void showtop(int r) { #define NLOADS 3 double loads[NLOADS]; int nloads, i, p, lines = 0; static struct proc prev_proc[PROCS], proc[PROCS]; static int preheated = 0; struct winsize winsize; /* static struct pm_mem_info pmi; */ static struct mproc mproc[NR_PROCS]; int mem = 0; if(ioctl(STDIN_FILENO, TIOCGWINSZ, &winsize) != 0) { perror("TIOCGWINSZ"); fprintf(stderr, "TIOCGWINSZ failed\n"); exit(1); } #if 0 if(getsysinfo(PM_PROC_NR, SI_MEM_ALLOC, &pmi) < 0) { fprintf(stderr, "getsysinfo() for SI_MEM_ALLOC failed.\n"); mem = 0; exit(1);; } else mem = 1; #endif retry: if(getsysinfo(PM_PROC_NR, SI_KPROC_TAB, proc) < 0) { fprintf(stderr, "getsysinfo() for SI_KPROC_TAB failed.\n"); exit(1); } if (!preheated) { preheated = 1; memcpy(prev_proc, proc, sizeof(prev_proc)); goto retry;; } if(getsysinfo(PM_PROC_NR, SI_PROC_TAB, mproc) < 0) { fprintf(stderr, "getsysinfo() for SI_PROC_TAB failed.\n"); exit(1); } if((nloads = getloadavg(loads, NLOADS)) != NLOADS) { fprintf(stderr, "getloadavg() failed - %d loads\n", nloads); exit(1); } printf("%s", Tclr_all); lines += print_load(loads, NLOADS); lines += print_proc_summary(proc); #if 0 if(mem) { lines += print_memory(&pmi); } #endif if(winsize.ws_row > 0) r = winsize.ws_row; print_procs(r - lines - 2, prev_proc, proc, mproc); memcpy(prev_proc, proc, sizeof(prev_proc)); }