aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Ton Voon <tonvoon@users.sourceforge.net> 2005-09-20 11:34:34 +0000
committerGravatar Ton Voon <tonvoon@users.sourceforge.net> 2005-09-20 11:34:34 +0000
commit571e8e5af47c727189798c43095fd903331bc639 (patch)
tree2c5e8b40b42529d090b11f0cd3d3f624ecca7dd6
parent44248b8b2b5b5ae1f7a7e46f382ede00b3e18882 (diff)
downloadmonitoring-plugins-571e8e5af47c727189798c43095fd903331bc639.tar.gz
Support for Tru64 for check_procs + additional test cases
git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk@1231 f882894a-f735-0410-b71e-b25c423dba1c
-rw-r--r--configure.in19
-rw-r--r--plugins/t/check_procs.t3
2 files changed, 13 insertions, 9 deletions
diff --git a/configure.in b/configure.in
index 76ad0130..6b812c6f 100644
--- a/configure.in
+++ b/configure.in
@@ -698,14 +698,17 @@ then
ac_cv_ps_cols=9
AC_MSG_RESULT([$ac_cv_ps_command])
-dnl Tru64 - needs %*[ +] in PS_FORMAT
-elif ps -ao 'stat comm vsz rss user uid pid ppid args' 2>/dev/null | \
- egrep -i ["^ *S[TAUES]* +[UCOMDNA]+ +[VSIZE]+ +R[S]+ +U[SER]+ +U[ID]+ +P[ID]+ +P[PID]+ +[RGSCOMDNA]+"] >/dev/null
-then
- ac_cv_ps_varlist="[procstat,&procuid,&procpid,&procppid,&procvsz,&procrss,&procpcpu,procprog,&pos]"
- ac_cv_ps_command="$PATH_TO_PS -ao 'stat uid pid ppid vsz rss pcpu comm args'"
- ac_cv_ps_format=["%s%*[ +] %d %d %d %d %d %f %s %n"]
- ac_cv_ps_cols=9
+dnl Tru64 - needs %*[ +<>] in PS_FORMAT.
+dnl Has /usr/bin/ps and /sbin/ps - force sbin version
+dnl Can't use vsize and rssize because comes back with text (eg, 1.5M instead
+dnl of 1500). Will need big changes to check_procs to support
+elif /sbin/ps -eo 'stat uid pid ppid pcpu etime comm args' 2>/dev/null | \
+ egrep -i ["^ *S +[UID]+ +[PID]+ +[PID]+ +[%CPU]+ +[ELAPSD]+ +[COMMAND]+ +[COMMAND]+"] > /dev/null
+then
+ ac_cv_ps_varlist="[procstat,&procuid,&procpid,&procppid,&procpcpu,procetime,procprog,&pos]"
+ ac_cv_ps_command="/sbin/ps -eo 'stat uid pid ppid pcpu etime comm args'"
+ ac_cv_ps_format=["%s%*[ +<>] %d %d %d %f %s %s %n"]
+ ac_cv_ps_cols=8
AC_MSG_RESULT([$ac_cv_ps_command])
elif ps -eo 's comm vsz rss user uid pid ppid args' 2>/dev/null | \
diff --git a/plugins/t/check_procs.t b/plugins/t/check_procs.t
index cb5f1224..91f5c44d 100644
--- a/plugins/t/check_procs.t
+++ b/plugins/t/check_procs.t
@@ -10,7 +10,7 @@ use Test;
use NPTest;
use vars qw($tests);
-BEGIN {$tests = 10; plan tests => $tests}
+BEGIN {$tests = 12; plan tests => $tests}
my $t;
@@ -19,6 +19,7 @@ $t += checkCmd( "./check_procs -w 100000 -c 100000 -s Z", 0, '/^PROCS OK: [0-9
$t += checkCmd( "./check_procs -w 0 -c 10000000", 1, '/^PROCS WARNING: [0-9]+ process(es)?$/' );
$t += checkCmd( "./check_procs -w 0 -c 0", 2, '/^PROCS CRITICAL: [0-9]+ process(es)?$/' );
$t += checkCmd( "./check_procs -w 0 -c 0 -s S", 2, '/^PROCS CRITICAL: [0-9]+ process(es)? with /' );
+$t += checkCmd( "./check_procs -w 0 -c 10000000 -p 1", 1, "/^PROCS WARNING: [0-9]+ process(es)? with PPID = 1/' );
exit(0) if defined($Test::Harness::VERSION);
exit($tests - $t);