summaryrefslogtreecommitdiffstats
path: root/plugins/check_procs.c
AgeCommit message (Collapse)AuthorFilesLines
2023-12-04check_procs: Generalise wording, remove mentioning of nrpeSven Hartge1-5/+4
2023-12-04check_procs: Improve help text, mentioning excluded processesSven Hartge1-14/+23
Also reindent the code, converting stray tabs to 2 spaces.
2023-11-28check_procs: ignore our own childrenSven Hartge1-0/+7
On systems with higher core counts check_procs will occasionally see its own "ps" child process with a high CPU percentage and raise a false alarm. Ignoring the child processes of check_procs prevents this from happening.
2023-10-19Fixes for -Wsign-compareRincewindsHat1-2/+2
2023-10-16Fixes for compiler warning -WparenthesesRincewindsHat1-2/+3
2023-04-14Fix a lot of typos reported by codespellJan Wagner1-2/+2
2023-03-21check_procs: Implement --exclude-process to exclude specific processes.Christian Kujau1-2/+45
Signed-off-by: Christian Kujau <lists@nerdbynature.de>
2022-01-30Fix double percentage sign in usage (#1743)Lorenz1-1/+1
2021-11-17Merge pull request #1654 from wolfgangkarall/masterRincewindsHat1-1/+1
check_procs -- exchange needle and haystack in strstr() for proper st…
2021-11-01check_procs: remove trailing whitespaceSven Nierlein1-25/+25
2021-01-03check_procs -- exchange needle and haystack in strstr() for proper state matchWolfgang Karall-Ahlborn1-1/+1
2019-03-21improve command examples for 'at least' processesChrisWi1-0/+5
2015-10-04use unknown exit code for help/version in pluginsSven Nierlein1-2/+2
Signed-off-by: Sven Nierlein <sven@nierlein.de>
2014-01-21Merge branch 'rename'Thomas Guyot-Sionnest1-3/+3
2014-01-21plugins/*.c: Non-network timeout changesSpenser Reinhardt1-1/+1
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.Spenser Reinhardt1-1/+1
.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 wordHolger Weiss1-1/+1
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-18Fixed 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-21Standardize 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