summaryrefslogtreecommitdiffstats
path: root/plugins/check_procs.c
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/check_procs.c')
-rw-r--r--plugins/check_procs.c16
1 files changed, 12 insertions, 4 deletions
diff --git a/plugins/check_procs.c b/plugins/check_procs.c
index d20b027f..402aac53 100644
--- a/plugins/check_procs.c
+++ b/plugins/check_procs.c
@@ -1,9 +1,9 @@
1/***************************************************************************** 1/*****************************************************************************
2* 2*
3* Nagios check_procs plugin 3* Monitoring check_procs plugin
4* 4*
5* License: GPL 5* License: GPL
6* Copyright (c) 2000-2008 Nagios Plugins Development Team 6* Copyright (c) 2000-2008 Monitoring Plugins Development Team
7* 7*
8* Description: 8* Description:
9* 9*
@@ -34,7 +34,7 @@
34const char *progname = "check_procs"; 34const char *progname = "check_procs";
35const char *program_name = "check_procs"; /* Required for coreutils libs */ 35const char *program_name = "check_procs"; /* Required for coreutils libs */
36const char *copyright = "2000-2008"; 36const char *copyright = "2000-2008";
37const char *email = "nagiosplug-devel@lists.sourceforge.net"; 37const char *email = "devel@monitoring-plugins.org";
38 38
39#include "common.h" 39#include "common.h"
40#include "utils.h" 40#include "utils.h"
@@ -123,6 +123,7 @@ main (int argc, char **argv)
123 char *procprog; 123 char *procprog;
124 124
125 pid_t mypid = 0; 125 pid_t mypid = 0;
126 pid_t myppid = 0;
126 struct stat statbuf; 127 struct stat statbuf;
127 dev_t mydev = 0; 128 dev_t mydev = 0;
128 ino_t myino = 0; 129 ino_t myino = 0;
@@ -172,6 +173,7 @@ main (int argc, char **argv)
172 173
173 /* find ourself */ 174 /* find ourself */
174 mypid = getpid(); 175 mypid = getpid();
176 myppid = getppid();
175 if (usepid || stat_exe(mypid, &statbuf) == -1) { 177 if (usepid || stat_exe(mypid, &statbuf) == -1) {
176 /* usepid might have been set by -T */ 178 /* usepid might have been set by -T */
177 usepid = 1; 179 usepid = 1;
@@ -241,6 +243,12 @@ main (int argc, char **argv)
241 printf("not considering - is myself or gone\n"); 243 printf("not considering - is myself or gone\n");
242 continue; 244 continue;
243 } 245 }
246 /* Ignore parent*/
247 else if (myppid == procpid) {
248 if (verbose >= 3)
249 printf("not considering - is parent\n");
250 continue;
251 }
244 252
245 /* filter kernel threads (childs of KTHREAD_PARENT)*/ 253 /* filter kernel threads (childs of KTHREAD_PARENT)*/
246 /* TODO adapt for other OSes than GNU/Linux 254 /* TODO adapt for other OSes than GNU/Linux
@@ -707,7 +715,7 @@ print_help (void)
707#if defined( __linux__ ) 715#if defined( __linux__ )
708 printf (" %s\n", _("ELAPSED - time elapsed in seconds")); 716 printf (" %s\n", _("ELAPSED - time elapsed in seconds"));
709#endif /* defined(__linux__) */ 717#endif /* defined(__linux__) */
710 printf (UT_TIMEOUT, DEFAULT_SOCKET_TIMEOUT); 718 printf (UT_PLUG_TIMEOUT, DEFAULT_SOCKET_TIMEOUT);
711 719
712 printf (" %s\n", "-v, --verbose"); 720 printf (" %s\n", "-v, --verbose");
713 printf (" %s\n", _("Extra information. Up to 3 verbosity levels")); 721 printf (" %s\n", _("Extra information. Up to 3 verbosity levels"));