Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Newer
Older
100644 46 lines (39 sloc) 1.617 kb
fccc685 Initial open-source release
MLstate authored
1 /*
2 Copyright © 2011 MLstate
3
4 This file is part of OPA.
5
6 OPA is free software: you can redistribute it and/or modify it under the
7 terms of the GNU Affero General Public License, version 3, as published by
8 the Free Software Foundation.
9
10 OPA is distributed in the hope that it will be useful, but WITHOUT ANY
11 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
12 FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for
13 more details.
14
15 You should have received a copy of the GNU Affero General Public License
16 along with OPA. If not, see <http://www.gnu.org/licenses/>.
17 */
18 #include <sys/wait.h>
19 #include <stdio.h>
20
21 int main (int argc, char** argv) {
22 struct rusage rus;
23 int p,return_code;
24 if (argc < 3) {
25 printf("Usage: %s <prefix> <program> [arguments]\nRuns <program> with [arguments] and outputs the results with <prefix>\n",
26 argv[0]);
27 return 1;
28 }
29
30 p = fork();
31 if (!p) {
32 execvp(argv[2], argv+2);
33 } else {
34 wait4(p,&return_code,0,&rus);
35 printf("%s %ld\n", argv[1], rus.ru_maxrss);
36 /* printf("maximum resident set size:\t%ld\n", rus.ru_maxrss); */
37 /* printf("integral shared memory size:\t%ld\n", rus.ru_ixrss); */
38 /* printf("integral unshared memory size:\t%ld\n", rus.ru_idrss); */
39 /* printf("integral unshared stack size:\t%ld\n", rus.ru_isrss); */
40 /* printf("page faults:\t\t\t%ld\n", rus.ru_majflt); */
41 /* printf("blocking inputs:\t\t%ld\n", rus.ru_inblock); */
42 /* printf("blocking outputs:\t\t%ld\n", rus.ru_oublock); */
43 }
44 return WEXITSTATUS(return_code);
45 }
Something went wrong with that request. Please try again.