37 #include <sys/procfs.h> 39 #include <sys/pstat.h> 42 #elif defined(UNIXWARE7) 43 #include <sys/procfs.h> 45 #elif defined(LINUX) || defined(ALPHA_LINUX) 48 #include <sys/procfs.h> 63 struct prstatus pstatus;
64 struct prpsinfo pinfo;
65 const char *procdir =
"/proc";
70 sprintf (pname,
"%s/%05d", procdir, pid);
72 if ((procfd = open (pname, O_RDONLY)) == -1)
77 if (ioctl (procfd, PIOCSTATUS, (
char *) &pstatus) == -1)
82 if (ioctl (procfd, PIOCPSINFO, (
char *) &pinfo) == -1)
91 ps->
pcpu = (double) pinfo.pr_pctcpu / 0x8000 * 100;
96 #elif defined(HPUX10_2) 106 struct pst_status info;
110 if (HP_PSTAT_GETPROC (&info, pid) < 0)
116 ps->
pcpu = info.pst_pctcpu * 100;
117 ps->
cpu_time = info.pst_utime + info.pst_stime;
int get_psinfo(int pid, T_PSINFO *ps)