aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--NEWS3
-rw-r--r--configure.in32
-rw-r--r--plugins/check_procs.c2
3 files changed, 12 insertions, 25 deletions
diff --git a/NEWS b/NEWS
index 310c08bc..184d4ec2 100644
--- a/NEWS
+++ b/NEWS
@@ -1,6 +1,7 @@
This file documents the major additions and syntax changes between releases.
-?? ??
+1.4.7 ??
+ check_procs uses /usr/ucb/ps if available - fixes pst3 problems on Solaris
Fixed MKINSTALLDIRS problem in po/
Root plugins installed with world executable
./configure now detects if possible to compile check_mysql
diff --git a/configure.in b/configure.in
index b0d1c97d..3b8db841 100644
--- a/configure.in
+++ b/configure.in
@@ -493,30 +493,16 @@ if test -n "$PS_COMMAND" && test -n "$PS_FORMAT" && test -n "$PS_COLS" && test -
ac_cv_ps_cols="$PS_COLS"
AC_MSG_RESULT([(command-line) $ac_cv_ps_command])
-dnl Now using the pst3/kmem hack for solaris systems to avoid truncation
-elif test "$ac_cv_uname_s" = "SunOS"; then
- #
- # this is a very, very ugly hack, to hardcode the location for plugins
- #
- if test "$libexecdir" = '${exec_prefix}/libexec'; then
- if test "$exec_prefix" = "NONE"; then
- if test "$prefix" = "NONE"; then
- pst3="$ac_default_prefix/libexec/pst3"
- else
- pst3="$prefix/libexec/pst3"
- fi
- else
- pst3="$exec_prefix/libexec/pst3"
- fi
- else
- pst3="$libexecdir/pst3"
- fi
- ac_cv_ps_command="$pst3"
- ac_cv_ps_format="%s %d %d %d %d %f %s %n"
- ac_cv_ps_varlist="[procstat,&procuid,&procppid,&procvsz,&procrss,&procpcpu,procprog,&pos]"
+dnl Using /usr/ucb/ps on Solaris systems, to avoid truncation
+dnl Limitation that command name is not available
+elif test "$ac_cv_uname_s" = "SunOS" && /usr/ucb/ps -alxwwn 2>/dev/null | \
+ egrep -i ["^ *F +UID +PID +PPID +%C +PRI +NI +SZ +RSS +WCHAN +S +TT +TIME +COMMAND"] > /dev/null
+then
+ ac_cv_ps_varlist="[&procuid,&procpid,&procppid,&procpcpu,&procvsz,&procrss,procstat,&pos]"
+ ac_cv_ps_command="/usr/ucb/ps -alxwwn"
+ ac_cv_ps_format=["%*s %d %d %d %d %*d %*d %d %d%*[ 0123456789abcdef]%[OSRZT]%*s %*s %n"]
ac_cv_ps_cols=8
- AC_MSG_RESULT([using nagios-plugins internal ps for solaris])
- EXTRAS_ROOT="$EXTRAS_ROOT pst3"
+ AC_MSG_RESULT([$ac_cv_ps_command])
dnl Some gnu/linux systems (debian for one) don't like -axwo and need axwo.
dnl so test for this first...
diff --git a/plugins/check_procs.c b/plugins/check_procs.c
index da7e9f0f..2e283284 100644
--- a/plugins/check_procs.c
+++ b/plugins/check_procs.c
@@ -200,7 +200,7 @@ main (int argc, char **argv)
procseconds = convert_to_seconds(procetime);
if (verbose >= 3)
- printf ("%d %d %d %d %d %d %.2f %s %s %s %s\n",
+ printf ("proc#=%d uid=%d vsz=%d rss=%d pid=%d ppid=%d pcpu=%.2f stat=%s etime=%s prog=%s args=%s\n",
procs, procuid, procvsz, procrss,
procpid, procppid, procpcpu, procstat,
procetime, procprog, procargs);