Code

get long args output to work on linux check_procs (needs OpenBSD testing)
authorKarl DeBisschop <kdebisschop@users.sourceforge.net>
Fri, 22 Nov 2002 01:31:59 +0000 (01:31 +0000)
committerKarl DeBisschop <kdebisschop@users.sourceforge.net>
Fri, 22 Nov 2002 01:31:59 +0000 (01:31 +0000)
git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk@221 f882894a-f735-0410-b71e-b25c423dba1c

configure.in

index d5b60c65bde3677a10bf403c4ce08688110b3baf..e1af2da2426bc6aab6dbd7dc082d1883b0ed5c4c 100644 (file)
@@ -402,7 +402,21 @@ fi
 AC_PATH_PROG(PATH_TO_PS,ps)
 dnl OpenBSD (needs to come early because -exo appears to work, but does not give all procs)
 dnl  STAT UCOMM              VSZ   RSS USER       UID  PPID COMMAND
-if [ps -axo 'stat comm vsz rss user uid ppid args' 2>/dev/null | egrep -i "^ *S[TAUES]* +[UCOMDNA]+ +[VSIZE]+ +R[S]+ +U[SER]+ +U[ID]+ +P[PID]+ +[RGSCOMDNA]+" >/dev/null]
+if ps -w -w -e -o 'stat comm vsz rss user uid ppid args' 2> /dev/null | egrep '^ *S[TAUES]* +[UCOMDNA]+ +[VSIZE]+ +R[S]+ +U[SER]+ +U[ID]+ +P[PID]+ +[RGSCOMDNA]+' > /dev/null
+then
+       AC_DEFINE(USE_PS_VARS,1,[Define if 'ps' will be parsed with sscanf])
+       AC_DEFINE_UNQUOTED(PS_VARLIST,[procstat,&procuid,&procppid,procprog,&pos],[Variable list for sscanf of 'ps' output])
+       AC_DEFINE_UNQUOTED(PS_RAW_COMMAND,"$PATH_TO_PS -axo 'stat user ppid args'",[Verbatim command to execute for ps in check_netsaint])
+       EXTRAS="$EXTRAS check_nagios"
+       AC_DEFINE_UNQUOTED(PS_COMMAND,"$PATH_TO_PS -axo 'stat uid ppid comm args'",[Verbatim command to execute for ps in check_procs])
+       AC_DEFINE_UNQUOTED(PS_FORMAT,"%s %d %d %s %n",[Format string for scanning ps output in check_procs])
+       AC_DEFINE_UNQUOTED(VSZ_COMMAND,"$PATH_TO_PS -axo 'vsz comm'",[Verbatim command to execute for ps in check_vsz])
+       AC_DEFINE_UNQUOTED(VSZ_FORMAT,"%d %s",[Format string for scanning ps output in check_vsz])
+       AC_DEFINE_UNQUOTED(RSS_COMMAND,"$PATH_TO_PS -axo 'rss comm'",[Verbatim command to execute for ps in check_rss])
+       AC_DEFINE_UNQUOTED(RSS_FORMAT,"%d %s",[Format string for scanning ps output in check_rss])
+  echo "      ps syntax... $PATH_TO_PS -axo 'stat comm vsz rss user ppid args'"
+dnl OpenBSD (needs to come early because -exo appears to work, but does not give all procs)
+elif ps -axo 'stat comm vsz rss user uid ppid args' 2>/dev/null | egrep -i "^ *S[TAUES]* +[UCOMDNA]+ +[VSIZE]+ +R[S]+ +U[SER]+ +U[ID]+ +P[PID]+ +[RGSCOMDNA]+" >/dev/null
 then
        AC_DEFINE(USE_PS_VARS,1,[Define if 'ps' will be parsed with sscanf])
        AC_DEFINE_UNQUOTED(PS_VARLIST,[procstat,&procuid,&procppid,procprog,&pos],[Variable list for sscanf of 'ps' output])
@@ -416,7 +430,7 @@ then
        AC_DEFINE_UNQUOTED(RSS_FORMAT,"%d %s",[Format string for scanning ps output in check_rss])
   echo "      ps syntax... $PATH_TO_PS -axo 'stat comm vsz rss user ppid args'"
 dnl AIX 4.3.3 - needs verification.
-elif [ps -ao 'stat comm vsz rss user uid ppid args' 2>/dev/null | egrep -i "^ *S[TAUES]* +[UCOMDNA]+ +[VSIZE]+ +R[S]+ +U[SER]+ +U[ID]+ +P[PID]+ +[RGSCOMDNA]+" >/dev/null]
+elif ps -ao 'stat comm vsz rss user uid ppid args' 2>/dev/null | egrep -i "^ *S[TAUES]* +[UCOMDNA]+ +[VSIZE]+ +R[S]+ +U[SER]+ +U[ID]+ +P[PID]+ +[RGSCOMDNA]+" >/dev/null
 then
        AC_DEFINE(USE_PS_VARS,1,[Define if 'ps' will be parsed with sscanf])
        AC_DEFINE_UNQUOTED(PS_VARLIST,[procstat,&procuid,&procppid,procprog,&pos],[Variable list for sscanf of 'ps' output])
@@ -429,7 +443,7 @@ then
        AC_DEFINE_UNQUOTED(RSS_COMMAND,"$PATH_TO_PS -ao 'rss comm'",[])
        AC_DEFINE_UNQUOTED(RSS_FORMAT,"%d %s",[])
   echo "      ps syntax... $PATH_TO_PS -ao 'stat comm vsz rss user ppid args'"
-elif [ps -eo 's comm vsz rss user uid ppid args' 2>/dev/null | egrep -i "^S[TAUES]* +C[OMDNA]+ +[VSIZE]+ +U[SER]+ +U[ID]+ +P[PID]+ +[RGSCOMDNA]+" >/dev/null]
+elif ps -eo 's comm vsz rss user uid ppid args' 2>/dev/null | egrep -i "^S[TAUES]* +C[OMDNA]+ +[VSIZE]+ +U[SER]+ +U[ID]+ +P[PID]+ +[RGSCOMDNA]+" >/dev/null
 then
        AC_DEFINE(USE_PS_VARS,1,[Define if 'ps' will be parsed with sscanf])
        AC_DEFINE_UNQUOTED(PS_VARLIST,[procstat,&procuid,&procppid,procprog,&pos],[Variable list for sscanf of 'ps' output])
@@ -442,7 +456,7 @@ then
        AC_DEFINE_UNQUOTED(RSS_COMMAND,"$PATH_TO_PS -eo 'rss comm'",[])
        AC_DEFINE_UNQUOTED(RSS_FORMAT,"%d %s",[])
         echo "      ps syntax... $PATH_TO_PS -eo 's  comm vsz rss user ppid args'"
-elif [ps -Ao 's comm vsz rss uid user ppid args' 2>/dev/null | egrep -i "^S[TAUES]* +C[OMDNA]+ +V[SIZE]+ +RSS +UID +USER +PPID +[RGSCOMDNA]+" >/dev/null]
+elif ps -Ao 's comm vsz rss uid user ppid args' 2>/dev/null | egrep -i "^S[TAUES]* +C[OMDNA]+ +V[SIZE]+ +RSS +UID +USER +PPID +[RGSCOMDNA]+" >/dev/null
 then
        AC_DEFINE(USE_PS_VARS,1,[Define if 'ps' will be parsed with sscanf])
        AC_DEFINE_UNQUOTED(PS_VARLIST,[procstat,&procuid,&procppid,procprog,&pos],[Variable list for sscanf of 'ps' output])
@@ -455,7 +469,7 @@ then
        AC_DEFINE_UNQUOTED(RSS_COMMAND,"$PATH_TO_PS -Ao 'rss comm'",[])
        AC_DEFINE_UNQUOTED(RSS_FORMAT,"%d %s",[])
        echo "      ps syntax... $PATH_TO_PS -Ao 's comm vsz rss'"
-elif [ps -Ao 'status comm vsz rss uid user ppid args' 2>/dev/null | egrep -i "^S[TAUES]* +C[OMDNA]+ +V[SIZE]+ +RSS +UID +USER +PPID +[RGSCOMDNA]+" >/dev/null]
+elif ps -Ao 'status comm vsz rss uid user ppid args' 2>/dev/null | egrep -i "^S[TAUES]* +C[OMDNA]+ +V[SIZE]+ +RSS +UID +USER +PPID +[RGSCOMDNA]+" >/dev/null
 then
        AC_DEFINE(USE_PS_VARS,1,[Define if we use custom variable list for sscanf])
        AC_DEFINE_UNQUOTED(PS_VARLIST,[procstat,&procuid,&procppid,procprog,&pos])
@@ -468,7 +482,7 @@ then
        AC_DEFINE_UNQUOTED(RSS_COMMAND,"$PATH_TO_PS -Ao 'rss comm'",[])
        AC_DEFINE_UNQUOTED(RSS_FORMAT,"%d %s",[])
        echo "      ps syntax... $PATH_TO_PS -Ao 'status comm vsz rss'"
-elif [ps -Ao 'state comm vsz rss uid user ppid args' 2>/dev/null | egrep -i "^S[TAUES]* +C[OMDNA]+ +V[SIZE]+ +RSS +UID +USER +PPID +[RGSCOMDNA]+" >/dev/null]
+elif ps -Ao 'state comm vsz rss uid user ppid args' 2>/dev/null | egrep -i "^S[TAUES]* +C[OMDNA]+ +V[SIZE]+ +RSS +UID +USER +PPID +[RGSCOMDNA]+" >/dev/null
 then
        AC_DEFINE(USE_PS_VARS,1,[Define if we use custom variable list for sscanf])
        AC_DEFINE_UNQUOTED(PS_VARLIST,[procstat,&procuid,&procppid,procprog,&pos])
@@ -482,7 +496,7 @@ then
        AC_DEFINE_UNQUOTED(RSS_FORMAT,"%d %s",[])
        echo "      ps syntax... $PATH_TO_PS -Ao 'state comm vsz rss'"
 dnl wonder who takes state instead of stat
-elif [ps -ao 'state command vsz rss user ppid args' 2>/dev/null | egrep -i "^S[TAUES]* +C[OMDNA]+ +V[SIZE]+ +RSS +UID +USER +PPID +[RGSCOMDNA]+" >/dev/null]
+elif ps -ao 'state command vsz rss user ppid args' 2>/dev/null | egrep -i "^S[TAUES]* +C[OMDNA]+ +V[SIZE]+ +RSS +UID +USER +PPID +[RGSCOMDNA]+" >/dev/null
 then
        AC_DEFINE(USE_PS_VARS,1,[Define if we use custom variable list for sscanf])
        AC_DEFINE_UNQUOTED(PS_VARLIST,[procstat,&procuid,&procppid,procprog,&pos],[])
@@ -496,7 +510,7 @@ then
        AC_DEFINE_UNQUOTED(RSS_FORMAT,"%d %s",[])
        echo "      ps syntax... $PATH_TO_PS -ao 'state command vsz rss'"
 dnl FreeBSD
-elif [ps waxco 'state command vsz rss uid user ppid' 2>/dev/null | egrep -i "^STAT +COMMAND +VSZ +RSS +UID +USER +PPID" >/dev/null]
+elif ps waxco 'state command vsz rss uid user ppid' 2>/dev/null | egrep -i "^STAT +COMMAND +VSZ +RSS +UID +USER +PPID" >/dev/null
 then
        AC_DEFINE(USE_PS_VARS,1,[Define if we use custom variable list for sscanf])
        AC_DEFINE_UNQUOTED(PS_VARLIST,[procstat,&procuid,&procppid,procprog,&pos],[])
@@ -510,7 +524,7 @@ then
        AC_DEFINE_UNQUOTED(RSS_FORMAT,"%d %s",[])
        echo "      ps syntax... $PATH_TO_PS -Ao 'state command vsz rss'"
 dnl BSD-like mode in RH 6.1
-elif [ps waxno 'state comm vsz rss uid user ppid args' 2>/dev/null | egrep -i "^S +COMMAND +VSZ +RSS +UID +USER +PPID +[RGSCOMDNA]+" >/dev/null]
+elif ps waxno 'state comm vsz rss uid user ppid args' 2>/dev/null | egrep -i "^S +COMMAND +VSZ +RSS +UID +USER +PPID +[RGSCOMDNA]+" >/dev/null
 then
        AC_DEFINE(USE_PS_VARS,1,[Define if we use custom variable list for sscanf])
        AC_DEFINE_UNQUOTED(PS_VARLIST,[procstat,&procuid,&procppid,procprog,&pos],[])
@@ -524,7 +538,7 @@ then
        AC_DEFINE_UNQUOTED(RSS_FORMAT,"%d %s",[])
        echo "      ps syntax... $PATH_TO_PS -waxco 'state comm vsz rss'"
 dnl IRIX 53
-elif [ps -el 2>/dev/null | egrep -i "^ *F +S +UID +PID +PPID +C +PRI +NI +P +SZ +RSS +WCHAN +TTY +TIME +[RGSCOMDNA]+" >/dev/null]
+elif ps -el 2>/dev/null | egrep -i "^ *F +S +UID +PID +PPID +C +PRI +NI +P +SZ +RSS +WCHAN +TTY +TIME +[RGSCOMDNA]+" >/dev/null
 then
        AC_DEFINE(USE_PS_VARS,1,[Define if we use custom variable list for sscanf])
        AC_DEFINE_UNQUOTED(PS_VARLIST,[procstat,&procuid,&procppid,&pos,procprog],[])
@@ -536,7 +550,7 @@ then
        AC_DEFINE_UNQUOTED(RSS_FORMAT,"%*s %*s %*s %*s %*s %*s %*s %*s %*s %*s %d",[])
        echo "      ps syntax... $PATH_TO_PS -el"
 dnl IRIX 63
-elif [ps -el 2>/dev/null | egrep -i "^ *F +S +UID +PID +PPID +C +PRI +NI +P +ADDR +SZ +RSS +WCHAN +TTY +TIME +[RGSCOMDNA]+" >/dev/null]
+elif ps -el 2>/dev/null | egrep -i "^ *F +S +UID +PID +PPID +C +PRI +NI +P +ADDR +SZ +RSS +WCHAN +TTY +TIME +[RGSCOMDNA]+" >/dev/null
 then
        AC_DEFINE(USE_PS_VARS,1,[Define if we use custom variable list for sscanf])
        AC_DEFINE_UNQUOTED(PS_VARLIST,[procstat,&procuid,&procppid,&pos,procprog],[])
@@ -550,7 +564,7 @@ then
 dnl SunOS 4.1.3:
 dnl  F  UID  PID  PPID  CP  PRI  NI  SZ  RSS  WCHAN  STAT  TT  TIME  COMMAND
 dnl
-elif [ps -laxnwww 2>/dev/null | egrep -i "^ *F(LAGS)? +UID +PID +PPID +CP +PRI +NI +(SZ)|(VSZ)|(SIZE) +RSS +WCHAN +STAT? +TTY? +TIME +COMMAND" >/dev/null]
+elif ps -laxnwww 2>/dev/null | egrep -i "^ *F(LAGS)? +UID +PID +PPID +CP +PRI +NI +(SZ)|(VSZ)|(SIZE) +RSS +WCHAN +STAT? +TTY? +TIME +COMMAND" >/dev/null
 then
        AC_DEFINE(USE_PS_VARS,1,[Define if we use custom variable list for sscanf])
        AC_DEFINE_UNQUOTED(PS_RAW_COMMAND,"$PATH_TO_PS laxnwww",[])
@@ -567,7 +581,7 @@ dnl Debian Linux / procps v1.2.9:
 dnl  FLAGS   UID   PID  PPID PRI  NI   SIZE   RSS WCHAN       STA TTY TIME COMMAND
 dnl    100     0     1     0   0   0    776    76  c0131c8c   S  ffff  0:11 init [2]
 dnl
-elif [ps laxnwww 2>/dev/null | egrep -i "^ *F(LAGS)? +UID +PID +PPID +PRI +NI +(VSZ)|(SIZE) +RSS +WCHAN +STAT? TTY +TIME +COMMAND" >/dev/null]
+elif ps laxnwww 2>/dev/null | egrep -i "^ *F(LAGS)? +UID +PID +PPID +PRI +NI +(VSZ)|(SIZE) +RSS +WCHAN +STAT? TTY +TIME +COMMAND" >/dev/null
 then
        AC_DEFINE(USE_PS_VARS,1,[Define if we use custom variable list for sscanf])
        AC_DEFINE_UNQUOTED(PS_RAW_COMMAND,"$PATH_TO_PS laxnwww",[])
@@ -584,7 +598,7 @@ dnl
 dnl AIX 4.1:
 dnl     F S      UID   PID  PPID   C PRI NI ADDR  SZ  RSS   WCHAN    TTY  TIME CMD
 dnl    303 A        0     0     0 120  16 -- 1c07  20   24              -  0:45 swapper
-elif [ps -el 2>/dev/null | egrep -i "^ *F +S +UID +PID +PPID +C +PRI +NI +ADDR +SZ +WCHAN +TTY +TIME +[RGSCOMDNA]+" >/dev/null]
+elif ps -el 2>/dev/null | egrep -i "^ *F +S +UID +PID +PPID +C +PRI +NI +ADDR +SZ +WCHAN +TTY +TIME +[RGSCOMDNA]+" >/dev/null
 then
        AC_DEFINE(USE_PS_VARS,1,[Define if we use custom variable list for sscanf])
        AC_DEFINE_UNQUOTED(PS_VARLIST,[procstat,&procuid,&procppid,&pos,procprog],[])
@@ -596,7 +610,7 @@ then
        AC_DEFINE_UNQUOTED(RSS_FORMAT,"%*s %*s %*s %*s %*s %*s %*s %*s %*s %d",[])
        echo "      ps syntax... $PATH_TO_PS -el"
 dnl AIX?
-elif [ps glaxen 2>/dev/null | egrep -i "^ *F +UID +PID +PPID +PRI +NI +VSZ +RSS +WCHAN +STAT +TTY +TIME +COMMAND" >/dev/null]
+elif ps glaxen 2>/dev/null | egrep -i "^ *F +UID +PID +PPID +PRI +NI +VSZ +RSS +WCHAN +STAT +TTY +TIME +COMMAND" >/dev/null
 then
        AC_DEFINE(USE_PS_VARS,1,[Define if we use custom variable list for sscanf])
        AC_DEFINE_UNQUOTED(PS_VARLIST,[&procuid,&procppid,procstat,&pos,procprog],[])