| 1 |  | /* | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 2 |  | * i-scream central monitoring system | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 3 |  | * http://www.i-scream.org | 
 
 
 
 
 
 
 
 
 
 
 | 4 | < | * Copyright (C) 2000-2003 i-scream | 
 
 
 
 
 
 
 
 
 | 4 | > | * Copyright (C) 2000-2004 i-scream | 
 
 
 
 
 
 
 
 
 
 
 | 5 |  | * | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 6 |  | * This program is free software; you can redistribute it and/or | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 7 |  | * modify it under the terms of the GNU General Public License | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 16 |  | * You should have received a copy of the GNU General Public License | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 17 |  | * along with this program; if not, write to the Free Software | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 18 |  | * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA. | 
 
 
 
 
 
 
 
 | 19 | + | * | 
 
 
 
 
 
 
 
 | 20 | + | * $Id$ | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 21 |  | */ | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 22 |  |  | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 23 |  | #ifdef HAVE_CONFIG_H | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 281 |  | die("out of memory"); | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 282 |  |  | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 283 |  | name = buf; | 
 
 
 
 
 
 
 
 | 284 | + | if (strlen(name) == 2 && name[1] == ':') | 
 
 
 
 
 
 
 
 | 285 | + | name[1] = '\0'; | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 286 |  | if (strncmp(name, "/dev/", 5) == 0) | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 287 |  | name += 5; | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 288 |  | while ((p = strchr(name, '/')) != NULL) | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 373 |  | if (page != NULL) { | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 374 |  | add_stat(LONG_LONG, &page->pages_pagein, "page", "in", NULL); | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 375 |  | add_stat(LONG_LONG, &page->pages_pageout, "page", "out", NULL); | 
 
 
 
 
 
 
 
 
 
 
 | 376 | < | add_stat(LONG_LONG, &page->systime, "page", "systime", NULL); | 
 
 
 
 
 
 
 
 
 | 376 | > | add_stat(TIME_T, &page->systime, "page", "systime", NULL); | 
 
 
 
 
 
 
 
 
 
 
 | 377 |  | } | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 378 |  | } | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 379 |  |  | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 606 |  | use_diffs = 1; | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 607 |  |  | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 608 |  | select_interesting(argc - optind, &argv[optind]); | 
 
 
 
 
 
 
 
 | 609 | + |  | 
 
 
 
 
 
 
 
 | 610 | + | /* We don't care if statgrab_init fails, because we can just display | 
 
 
 
 
 
 
 
 | 611 | + | the statistics that can be read as non-root. */ | 
 
 
 
 
 
 
 
 | 612 | + | statgrab_init(); | 
 
 
 
 
 
 
 
 | 613 | + | if (statgrab_drop_privileges() != 0) | 
 
 
 
 
 
 
 
 | 614 | + | die("Failed to drop setuid/setgid privileges"); | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 615 |  |  | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 616 |  | switch (repeat_mode) { | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 617 |  | case REPEAT_NONE: |