summaryrefslogtreecommitdiffstats
path: root/plugins/check_procs.c
AgeCommit message (Collapse)AuthorFilesLines
2014-01-19Project rename initial commit.Monitoring Plugins Development Team1-3/+3
This is an initial take at renaming the project to Monitoring Plugins. It's not expected to be fully complete, and it is expected to break things (The perl module for instance). More testing will be required before this goes mainline.
2013-11-19check_procs: ignore plugin parent processAnton Lofgren1-0/+8
This fixes an issue that appears when running check_procs over NRPE, where the default shell is configured to (for example) dash, as is the case on Debian. dash (and tcsh, and mksh, and probably others), when invoked with -c forks an additional process to execute the argument string. Contrast this with bash, which does not do this, provided that the argument string simply can be exec()'d as-is. To demonstrate: $ bash -c pstree init─┬ .. ... ├─sshd─-─sshd───pstree versus $ dash -c pstree init─┬ .. ... ├─sshd─-─sshd───dash───pstree The consequence of this fork is that the following invocation: /opt/plugins/check_procs -a init will result in this output: PROCS OK: 2 processes with args 'init' | processes=2;;;0; because the check_procs, in addition to finding the actual init process, finds its parent shell as well. This example is a bit contrived, but I think it illustrates the point. This wouldn't really be a problem, and normally isn't, if it weren't for the fact that NRPE uses a call to popen() which does exactly the above (executes '/bin/sh -c ...'), causing inconsistent behaviour between distributions and much confusion for end users. The argument may be made that the dash process spawned by NRPE is just a process like any other, and should therefore be included in the process count just like any other. However, this is not very intuitive, because of the previously mentioned inconsistencies. The argument might also well be made that we're _never_ interested in the immediate ancestor of the plugin, and while it is unknown how many installations have already made the necessary modifications to their setups to make up for the fact that the plugin behaves the way it does, it is not deemed worthwhile to entertain such workarounds. Thus, this patch ignores the parent process. See also these bug reports: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=626913 http://sourceforge.net/p/nagiosplug/bugs/512/ https://github.com/nagios-plugins/nagios-plugins/issues/999 https://bugs.op5.com/view.php?id=4398
2013-09-10Fix GCC's -Wuninitialized warningsHolger Weiss1-1/+1
Fix the issues found by GCC when the -Wuninitialized flag is specified.
2013-08-18check_procs: clarify debug messageSebastian Schmidt1-1/+1
2013-08-18check_procs: Assume we have stat()Sebastian Schmidt1-10/+2
stat() is in gnulib anyway, so we can safely depend on it.
2013-08-18check_procs: Get rid of HAVE_PROC_PID_EXESebastian Schmidt1-1/+1
Don't check for /proc/pid/exe at compile time, it could be gone in a build chroot or the like. Checking at runtime (once) is sufficient.
2013-08-18check_procs: Ignore ENOENT when checking for myselfSebastian Schmidt1-1/+4
Previously, when a process exited between the call to /bin/ps and stat("/proc/his/exe") was exiting it was not considered as possible instance of check_procs. This commit makes check_procs ignore all processes where /proc/pid/exe does not exist.
2013-08-18check_procs: fix typoSebastian Schmidt1-1/+1
Fix a typo in previous commit where st_ was missing in the mock struct_stat_t, causing check_procs.c to not compile without sys/stat.h.
2013-08-18check_procs: filter out self by /proc/pid/exeSebastian Schmidt1-3/+49
Make check_procs filter out itself in the process list by comparing the file pointed to by /proc/pid/exe. On platforms where this is not available or when check_procs is passed the -T flag, the old behaviour (check whether PID equals getpid()) is retained. This fixes some false alarms when e.g. Nagios has, for whatever reasons, some backlog of checks to run and check_procs with -a is called more than once in a short time, matching its sister process.
2013-08-17Fixed SF.net bug #3552839, check_procs: added -k option to ignore kernel threadsRichard Leitner1-2/+29
This commit fixes sourceforge.net bug #3552839. It adds a -k|--no-kthreads option to ignore kernel thread processes. Please note: currently this feature only works for GNU/Linux systems (due to the fact I have no other systems to test/develop on) Sorry for that, but I'm sure this can be accomplished by somebody else ;-)
2013-02-27Update plugins/check_procs.cJoerg Linge1-0/+1
added missing longopt --user
2012-11-14check_procs: Remove superfluous newline characterHolger Weiss1-1/+1
2012-11-14check_procs: Added performance data to plugin output.Sebastian Harl1-0/+7
2012-11-14check_procs: Use the range/threshold support functions from libnagiosplug.Sebastian Harl1-89/+17
This adds support for @<range> and makes stuff a bit simpler by removing code duplications. Note: Previously, the compatibility code for 'check_procs <warn> <max>' accepted something like 'check_procs -w 10:-1 -c 10:-1 20 50' as well (treating it as if '-w 10:20 -c 10:50' was specified). This is no longer the case ... additional arguments are only used as warn/crit thresholds in case -w/-c is not specified at all.
2012-06-29Die when asprintf failsAnders Kaseorg1-17/+17
Fixes many instances of warning: ignoring return value of 'asprintf', declared with attribute warn_unused_result [-Wunused-result] Signed-off-by: Anders Kaseorg <andersk@mit.edu>
2011-01-21Fix for regex input of '|', being output causing problems with Nagios' ↵Ton Voon1-1/+10
parsing of performance data. Now replaced with ','
2010-04-22Add newline after "Usage:" in --helpThomas Guyot-Sionnest1-1/+1
2010-04-22Standardize the extra-opts notesThomas Guyot-Sionnest1-6/+0
2010-04-14Fix translations when extra-opts aren't enabledThomas Guyot-Sionnest1-5/+5
Bug #2832884 reported problem with translations outputting pot file headers. This is caused by "" matching the header of the translation files. This patch moves gettext macros inside utils macros and update some french translations.
2009-02-20Typo fixes (Jan Wagner - SF 1878971)Ton Voon1-6/+6
2008-11-23Removing CVS/SVN tags and replacing with git-based versioningThomas Guyot-Sionnest1-6/+2
For contrib/, full tags have been imported from subversion git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk@2091 f882894a-f735-0410-b71e-b25c423dba1c
2008-07-08check_procs captures stderr and adds to plugin output. This isTon Voon1-46/+15
from a merge of branch nagiosplug/branches/new_threshold_syntax 1979:1982 git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk@2019 f882894a-f735-0410-b71e-b25c423dba1c
2008-05-07Added support for --extra-opts in all C plugins (disabled by default, see ↵Thomas Guyot-Sionnest1-4/+13
configure --help) git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk@1991 f882894a-f735-0410-b71e-b25c423dba1c
2008-04-27--help output cleanup (plus removal of spaces on blank lines)Thomas Guyot-Sionnest1-2/+2
git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk@1984 f882894a-f735-0410-b71e-b25c423dba1c
2008-03-18Updated check_procs with a hidden --input-file option.Ton Voon1-24/+38
Include some sample outputs for testing git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk@1954 f882894a-f735-0410-b71e-b25c423dba1c
2008-02-28Reverted check_procs for solaris back to using pst3 due to truncationTon Voon1-0/+26
for argument fields using other methods git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk@1937 f882894a-f735-0410-b71e-b25c423dba1c
2008-01-31Bump plugin/ to GPLv3 (check_overcr to check_users)Thomas Guyot-Sionnest1-23/+22
git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk@1917 f882894a-f735-0410-b71e-b25c423dba1c
2008-01-04Cleaned check_procs usage output (Ferenc Wagner #1862218)Matthias Eble1-3/+3
git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk@1885 f882894a-f735-0410-b71e-b25c423dba1c
2007-07-15Make ps column count in zombie detection less restrictive. Thanks to Andrew ↵Matthias Eble1-1/+1
Elwell (#1280470) git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk@1758 f882894a-f735-0410-b71e-b25c423dba1c
2007-03-06Use /usr/ucb/ps on Solaris in preference to pst3 (problems in 64bit mode)Ton Voon1-1/+1
git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk@1629 f882894a-f735-0410-b71e-b25c423dba1c
2007-01-28Don't try to print `optarg' (which will be a NULL pointer) if an unknownHolger Weiss1-1/+1
command line option was used, as this leads to a segfault on some systems. The unknown option will be printed by getopt(3) anyway. So, simply call print_usage() and exit UNKNOWN via the new usage5() instead. git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk@1590 f882894a-f735-0410-b71e-b25c423dba1c
2007-01-24Various cleanups in the syncing with gnulibTon Voon1-0/+1
git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk@1581 f882894a-f735-0410-b71e-b25c423dba1c
2007-01-17Fix bug #1630970 Fix for buffer overflow of check_procs procprog stringThomas Guyot-Sionnest1-1/+1
git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk@1566 f882894a-f735-0410-b71e-b25c423dba1c
2006-10-22more localization fixesBenoit Mortier1-55/+47
git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk@1514 f882894a-f735-0410-b71e-b25c423dba1c
2006-10-19first pass at cleaning localization for new releaseBenoit Mortier1-4/+9
first pass at making all the headre be the same licence, plugin, etc... git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk@1499 f882894a-f735-0410-b71e-b25c423dba1c
2006-07-13Using coreutils' base_name function because of portability issues withTon Voon1-1/+1
Tru64 git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk@1450 f882894a-f735-0410-b71e-b25c423dba1c
2006-06-20cleaning help and usage + licenseBenoit Mortier1-17/+30
git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk@1435 f882894a-f735-0410-b71e-b25c423dba1c
2006-06-17cleaning up help and usageBenoit Mortier1-5/+5
git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk@1433 f882894a-f735-0410-b71e-b25c423dba1c
2006-04-27Internal version of basename if one not found in systemTon Voon1-7/+1
git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk@1383 f882894a-f735-0410-b71e-b25c423dba1c
2006-04-05Use pid_t for pids (1463853)Ton Voon1-3/+3
git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk@1368 f882894a-f735-0410-b71e-b25c423dba1c
2006-02-17set LC_NUMERIC to POSIX in check_procs.cM. Sean Finney1-0/+1
git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk@1316 f882894a-f735-0410-b71e-b25c423dba1c
2005-09-15- Cleanup minor compile errors on IrixTon Voon1-0/+2
git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk@1222 f882894a-f735-0410-b71e-b25c423dba1c
2005-06-03gcc 2.x fixes from edwardM. Sean Finney1-9/+9
git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk@1188 f882894a-f735-0410-b71e-b25c423dba1c
2005-05-25fixes for check_procs:M. Sean Finney1-9/+10
- added support for printing the pid in all the ps outputs - don't use the proc name to ignore self, use the pid vs getpid(). - initialize procetime to null string otherwise -vvv can have funny results git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk@1177 f882894a-f735-0410-b71e-b25c423dba1c
2004-12-30more internationalization fixesBenoit Mortier1-6/+6
internationalization freeze for beta1 git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk@1067 f882894a-f735-0410-b71e-b25c423dba1c
2004-12-25various fixes for localizationBenoit Mortier1-18/+10
git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk@1061 f882894a-f735-0410-b71e-b25c423dba1c
2004-12-10Reverting back ngettext callsTon Voon1-1/+1
git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk@1017 f882894a-f735-0410-b71e-b25c423dba1c
2004-12-03reverting my changes from !=TRUE to == ERROR, that's not good ;-( sorryBenoit Mortier1-1/+1
git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk@998 f882894a-f735-0410-b71e-b25c423dba1c
2004-12-03print_help and print_usage() cleanupBenoit Mortier1-2/+2
other misc cleanups git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk@996 f882894a-f735-0410-b71e-b25c423dba1c
2004-12-03remove UT_HLP_VRS from print_usageBenoit Mortier1-4/+2
this was not a good idea ;-) git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk@994 f882894a-f735-0410-b71e-b25c423dba1c