summaryrefslogtreecommitdiff
path: root/mrtg-procs
blob: 7cff1044bbee894e27c862f2b70bc2084aafd664 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#!/usr/bin/perl -wT
# (c) 2003 by Peter Palfrader
#
# mrtg memory and swap usage check

# run as suid because grsec limits ps

use strict;
use English;

$ENV{'PATH'} = '/bin:/usr/bin';
delete @ENV{'IFS', 'CDPATH', 'ENV', 'BASH_ENV'};

open(FOO, "/bin/ps ax|") || die "$0: can't fork ps $!";
my @processes = <FOO>;
close FOO;

shift @processes;
my $running=0;

for my $line (@processes) {
	my @line = split /\s+/, $line;
	$running++ if ($line[2] =~ /R/);
}

my $uptime=`/usr/bin/uptime`;
my $hostname=`/bin/hostname`;
printf "%d\n%d\n%s%s", scalar @processes, $running, $uptime, $hostname;