ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/i-scream/projects/libstatgrab/examples/process_snapshot.c
(Generate patch)

Comparing projects/libstatgrab/examples/process_snapshot.c (file contents):
Revision 1.1 by tdb, Sat Apr 3 16:55:38 2004 UTC vs.
Revision 1.9 by tdb, Wed Apr 7 15:50:25 2004 UTC

# Line 1 | Line 1
1   /*
2 < * i-scream central monitoring system
2 > * i-scream libstatgrab
3   * http://www.i-scream.org
4   * Copyright (C) 2000-2004 i-scream
5   *
# Line 26 | Line 26
26   #include <unistd.h>
27  
28   int main(){
29 <        proc_state_t *ps;
30 <        int ps_size;
31 <        int x;
32 <        char *state;
29 >        sg_process_stats *ps;
30 >        int ps_size;
31 >        int x;
32 >        char *state = NULL;
33  
34          /* Initialise statgrab */
35 <        statgrab_init();
35 >        sg_init();
36  
37          /* Drop setuid/setgid privileges. */
38 <        if (statgrab_drop_privileges() != 0) {
38 >        if (sg_drop_privileges() != 0) {
39                  perror("Error. Failed to drop privileges");
40                  return 1;
41          }
42  
43 <        ps_size = get_proc_snapshot(&ps);
43 >        ps = sg_get_process_stats(&ps_size);
44  
45 +        if(ps == NULL){
46 +                fprintf(stderr, "Failed to get process snapshot\n");
47 +                exit(1);
48 +        }
49 +
50          printf("%5s %5s %5s %5s %5s %5s %5s %6s %6s %9s %-10s %-4s %-8s %-20s %s\n",
51                  "pid", "ppid", "pgid", "uid", "euid", "gid", "egid", "size", "res", "time", "cpu", "nice", "state", "name", "title");
52  
53 <        for(x=0;x<ps_size;x++){
53 >        for(x=0;x<ps_size;x++){
54                  switch (ps->state) {
55 <                case RUNNING:
55 >                case SG_PROCESS_STATE_RUNNING:
56                          state = "RUNNING";
57                          break;
58 <                case SLEEPING:
58 >                case SG_PROCESS_STATE_SLEEPING:
59                          state = "SLEEPING";
60                          break;
61 <                case STOPPED:
61 >                case SG_PROCESS_STATE_STOPPED:
62                          state = "STOPPED";
63                          break;
64 <                case ZOMBIE:
64 >                case SG_PROCESS_STATE_ZOMBIE:
65                          state = "ZOMBIE";
66                          break;
67 +                case SG_PROCESS_STATE_UNKNOWN:
68 +                default:
69 +                        state = "UNKNOWN";
70 +                        break;
71                  }
72                  printf("%5d %5d %5d %5d %5d %5d %5d %5dM %5dM %8ds %10f %4d %-8s %-20s %s\n",
73                          (int)ps->pid, (int)ps->parent, (int)ps->pgid, (int)ps->uid,
# Line 68 | Line 77 | int main(){
77                          (int)ps->time_spent, (float)ps->cpu_percent,
78                          (int)ps->nice, state,
79                          ps->process_name, ps->proctitle);
80 <                ps++;
81 <        }
80 >                ps++;
81 >        }
82          return 0;
83   }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines