#!/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;