summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--plugins/check_procs.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/plugins/check_procs.c b/plugins/check_procs.c
index a868fcf..d479210 100644
--- a/plugins/check_procs.c
+++ b/plugins/check_procs.c
@@ -202,12 +202,14 @@ main (int argc, char **argv)
202 if (metric != METRIC_PROCS) { 202 if (metric != METRIC_PROCS) {
203 if (i == STATE_WARNING) { 203 if (i == STATE_WARNING) {
204 warn++; 204 warn++;
205 asprintf (&fails, "%s%s%s", fails, (strcmp(fails,"") ? ", " : ""), procprog);
206 result = max_state (result, i);
205 } 207 }
206 if (i == STATE_CRITICAL) { 208 if (i == STATE_CRITICAL) {
207 crit++; 209 crit++;
210 asprintf (&fails, "%s%s%s", fails, (strcmp(fails,"") ? ", " : ""), procprog);
211 result = max_state (result, i);
208 } 212 }
209 asprintf (&fails, "%s%s%s", fails, (strcmp(fails,"") ? ", " : ""), procprog);
210 result = max_state (result, i);
211 } 213 }
212 } 214 }
213 /* This should not happen */ 215 /* This should not happen */
@@ -341,7 +343,7 @@ process_arguments (int argc, char **argv)
341 else 343 else
342 usage (_("Critical Process Count must be an integer!\n\n")); 344 usage (_("Critical Process Count must be an integer!\n\n"));
343 break; 345 break;
344 case 'w': /* warning time threshold */ 346 case 'w': /* warning threshold */
345 if (is_integer (optarg)) 347 if (is_integer (optarg))
346 wmax = atoi (optarg); 348 wmax = atoi (optarg);
347 else if (sscanf (optarg, ":%d", &wmax) == 1) 349 else if (sscanf (optarg, ":%d", &wmax) == 1)
@@ -351,7 +353,7 @@ process_arguments (int argc, char **argv)
351 else if (sscanf (optarg, "%d:", &wmin) == 1) 353 else if (sscanf (optarg, "%d:", &wmin) == 1)
352 break; 354 break;
353 else 355 else
354 usage (_("%s: Warning Process Count must be an integer!\n\n")); 356 usage (_("Warning Process Count must be an integer!\n\n"));
355 break; 357 break;
356 case 'p': /* process id */ 358 case 'p': /* process id */
357 if (sscanf (optarg, "%d%[^0-9]", &ppid, tmp) == 1) { 359 if (sscanf (optarg, "%d%[^0-9]", &ppid, tmp) == 1) {
@@ -655,7 +657,9 @@ Examples:\n\
655 Warning alert if > 10 processes with command arguments containing \n\ 657 Warning alert if > 10 processes with command arguments containing \n\
656 '/usr/local/bin/perl' and owned by root\n\n\ 658 '/usr/local/bin/perl' and owned by root\n\n\
657 check_procs -w 50000 -c 100000 --metric=VSZ\n\ 659 check_procs -w 50000 -c 100000 --metric=VSZ\n\
658 Alert if vsz of any processes over 50K or 100K\n\n")); 660 Alert if vsz of any processes over 50K or 100K\n\
661 check_procs -w 10 -c 20 --metric=CPU\n\
662 Alert if cpu of any processes over 10% or 20%\n\n"));
659 663
660 printf (_(UT_SUPPORT)); 664 printf (_(UT_SUPPORT));
661} 665}