ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE-3.0/src/utils/residentMem.c
Revision: 2027
Committed: Tue Feb 15 06:11:22 2005 UTC (19 years, 5 months ago) by gezelter
Content type: text/plain
File size: 755 byte(s)
Log Message:
bugfixing residentMem

File Contents

# Content
1 #include <config.h>
2 #include <string.h>
3 #include <stdio.h>
4
5 #define to_string( s ) # s
6 #define STR_DEFINE(t, s) t = to_string(s)
7
8
9 double residentMem () {
10
11 FILE* procresults;
12 char buf[150];
13 char* foo;
14 long int myRSS, totRSS;
15 char pscommand[150];
16 char* psPath;
17
18 STR_DEFINE(psPath, PSCOMMAND );
19
20 strncpy(pscommand, psPath, strlen(psPath));
21
22 #if PSTYPE == BSD
23 strcat(pscommand, " ax -o rss");
24 #else
25 strcat(pscommand, " -ef -o rss");
26 #endif
27
28 procresults = popen(pscommand, "r");
29
30 totRSS = 0;
31 while (!feof(procresults)) {
32 fgets( buf, 150, procresults);
33 if (!strcmp(buf, " RSS")) continue;
34
35 foo = strtok(buf, " ,;\t");
36 myRSS = atoi(foo);
37 totRSS += myRSS;
38 }
39 pclose(procresults);
40
41 return(totRSS);
42
43 }