192 |
|
return NULL; |
193 |
|
} |
194 |
|
|
195 |
< |
if(process_info.pr_lwp.pr_state==1) proc_state_ptr->state = SG_PROCESS_STATE_SLEEPING; |
196 |
< |
if(process_info.pr_lwp.pr_state==2) proc_state_ptr->state = SG_PROCESS_STATE_RUNNING; |
197 |
< |
if(process_info.pr_lwp.pr_state==3) proc_state_ptr->state = SG_PROCESS_STATE_ZOMBIE; |
198 |
< |
if(process_info.pr_lwp.pr_state==4) proc_state_ptr->state = SG_PROCESS_STATE_STOPPED; |
199 |
< |
if(process_info.pr_lwp.pr_state==6) proc_state_ptr->state = SG_PROCESS_STATE_RUNNING; |
195 |
> |
switch (process_info.pr_lwp.pr_state) { |
196 |
> |
case 1: |
197 |
> |
proc_state_ptr->state = SG_PROCESS_STATE_SLEEPING; |
198 |
> |
break; |
199 |
> |
case 2: |
200 |
> |
case 5: |
201 |
> |
proc_state_ptr->state = SG_PROCESS_STATE_RUNNING; |
202 |
> |
break; |
203 |
> |
case 3: |
204 |
> |
proc_state_ptr->state = SG_PROCESS_STATE_ZOMBIE; |
205 |
> |
break; |
206 |
> |
case 4: |
207 |
> |
proc_state_ptr->state = SG_PROCESS_STATE_STOPPED; |
208 |
> |
break; |
209 |
> |
} |
210 |
|
#endif |
211 |
|
#ifdef LINUX |
212 |
|
x = fscanf(f, "%d %4096s %c %d %d %*d %*d %*d %*u %*u %*u %*u %*u %lu %lu %*d %*d %*d %d %*d %*d %lu %llu %llu %*u %*u %*u %*u %*u %*u %*u %*u %*u %*u %*u %*u %*u %*d %*d\n", &(proc_state_ptr->pid), ps_name, &s, &(proc_state_ptr->parent), &(proc_state_ptr->pgid), &utime, &stime, &(proc_state_ptr->nice), &starttime, &(proc_state_ptr->proc_size), &(proc_state_ptr->proc_resident)); |
213 |
|
/* +3 becuase man page says "Resident Set Size: number of pages the process has in real memory, minus 3 for administrative purposes." */ |
214 |
|
proc_state_ptr->proc_resident = (proc_state_ptr->proc_resident + 3) * getpagesize(); |
215 |
< |
if(s == 'S') proc_state_ptr->state = SG_PROCESS_STATE_SLEEPING; |
216 |
< |
if(s == 'R') proc_state_ptr->state = SG_PROCESS_STATE_RUNNING; |
217 |
< |
if(s == 'Z') proc_state_ptr->state = SG_PROCESS_STATE_ZOMBIE; |
218 |
< |
if(s == 'T') proc_state_ptr->state = SG_PROCESS_STATE_STOPPED; |
219 |
< |
if(s == 'D') proc_state_ptr->state = SG_PROCESS_STATE_STOPPED; |
215 |
> |
switch (s) { |
216 |
> |
case 'S': |
217 |
> |
proc_state_ptr->state = SG_PROCESS_STATE_SLEEPING; |
218 |
> |
break; |
219 |
> |
case 'R': |
220 |
> |
proc_state_ptr->state = SG_PROCESS_STATE_RUNNING; |
221 |
> |
break; |
222 |
> |
case 'Z': |
223 |
> |
proc_state_ptr->state = SG_PROCESS_STATE_ZOMBIE; |
224 |
> |
break; |
225 |
> |
case 'T': |
226 |
> |
case 'D': |
227 |
> |
proc_state_ptr->state = SG_PROCESS_STATE_STOPPED; |
228 |
> |
break; |
229 |
> |
} |
230 |
|
|
231 |
|
/* pa_name[0] should = '(' */ |
232 |
|
ptr = strchr(&ps_name[1], ')'); |