aboutsummaryrefslogtreecommitdiff
path: root/plugins/check_procs.c
AgeCommit message (Collapse)Author
2022-01-30Fix double percentage sign in usage (#1743)Gravatar Lorenz
2021-11-17Merge pull request #1654 from wolfgangkarall/masterGravatar RincewindsHat
check_procs -- exchange needle and haystack in strstr() for proper st…
2021-11-01check_procs: remove trailing whitespaceGravatar Sven Nierlein
2021-01-03check_procs -- exchange needle and haystack in strstr() for proper state matchGravatar Wolfgang Karall-Ahlborn
2019-03-21improve command examples for 'at least' processesGravatar ChrisWi
2015-10-04use unknown exit code for help/version in pluginsGravatar Sven Nierlein
Signed-off-by: Sven Nierlein <sven@nierlein.de>
2014-01-21Merge branch 'rename'Gravatar Thomas Guyot-Sionnest
2014-01-21plugins/*.c: Non-network timeout changesGravatar Spenser Reinhardt
Changes to non-network checks for clarity on timeout value. Adapted from pull request #1209 tracker from user awiddersheim. (Closes: #1209) Files: check_apt.c, check_disk.c, check_procs.c, negate.c
2014-01-21plugins/*.c: Alterations for timeout messages.Gravatar Spenser Reinhardt
.c file changes for misleading timeout messages in help functions. Solution to pull request #1209 tracker by awiddersheim. Files: plugins/check_apt.c, plugins/check_by_ssh.c, plugins/check_dbi.c, plugins/check_dig.c, plugins/check_disk.c, plugins/check_dns.c, plugins/check_game.c, plugins/check_http.c, plugins/check_ldap.c, plugins/check_ntp.c, plugins/check_ntp_peer.c, plugins/check_ntp_time.c, plugins/check_nwstat.c, plugins/check_overcr.c, plugins/check_pgsql.c, plugins/check_ping.c, plugins/check_procs.c, plugins/check_radius.c, plugins/check_real.c, plugins/check_smtp.c, plugins/check_snmp.c, plugins/check_ssh.c, plugins/check_tcp.c, plugins/check_time.c, plugins/check_ups.c, plugins/negate.c
2014-01-20Capitalize "Monitoring" when it's the first wordGravatar Holger Weiss
2014-01-19Project rename initial commit.Gravatar Monitoring Plugins Development Team
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 processGravatar Anton Lofgren
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 warningsGravatar Holger Weiss
Fix the issues found by GCC when the -Wuninitialized flag is specified.
2013-08-18check_procs: clarify debug messageGravatar Sebastian Schmidt
2013-08-18check_procs: Assume we have stat()Gravatar Sebastian Schmidt
stat() is in gnulib anyway, so we can safely depend on it.
2013-08-18check_procs: Get rid of HAVE_PROC_PID_EXEGravatar Sebastian Schmidt
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 myselfGravatar Sebastian Schmidt
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 typoGravatar Sebastian Schmidt
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/exeGravatar Sebastian Schmidt
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-18Fixed SF.net bug #3552839, check_procs: added -k option to ignore kernel threadsGravatar Richard Leitner
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.cGravatar Joerg Linge
added missing longopt --user
2012-11-14check_procs: Remove superfluous newline characterGravatar Holger Weiss
2012-11-14check_procs: Added performance data to plugin output.Gravatar Sebastian Harl
2012-11-14check_procs: Use the range/threshold support functions from libnagiosplug.Gravatar Sebastian Harl
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 failsGravatar Anders Kaseorg
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' ↵Gravatar Ton Voon
parsing of performance data. Now replaced with ','
2010-04-22Add newline after "Usage:" in --helpGravatar Thomas Guyot-Sionnest
2010-04-21Standardize the extra-opts notesGravatar Thomas Guyot-Sionnest
2010-04-14Fix translations when extra-opts aren't enabledGravatar Thomas Guyot-Sionnest
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)Gravatar Ton Voon
2008-11-23Removing CVS/SVN tags and replacing with git-based versioningGravatar Thomas Guyot-Sionnest
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 isGravatar Ton Voon
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 ↵Gravatar Thomas Guyot-Sionnest
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)Gravatar Thomas Guyot-Sionnest
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.Gravatar Ton Voon
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 truncationGravatar Ton Voon
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)Gravatar Thomas Guyot-Sionnest
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)Gravatar Matthias Eble
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 ↵Gravatar Matthias Eble
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)Gravatar Ton Voon
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 unknownGravatar Holger Weiss
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 gnulibGravatar Ton Voon
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 stringGravatar Thomas Guyot-Sionnest
git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk@1566 f882894a-f735-0410-b71e-b25c423dba1c
2006-10-22more localization fixesGravatar Benoit Mortier
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 releaseGravatar Benoit Mortier
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 withGravatar Ton Voon
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 + licenseGravatar Benoit Mortier
git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk@1435 f882894a-f735-0410-b71e-b25c423dba1c
2006-06-17cleaning up help and usageGravatar Benoit Mortier
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 systemGravatar Ton Voon
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)Gravatar Ton Voon
git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk@1368 f882894a-f735-0410-b71e-b25c423dba1c