Command line and full screen utilities for browsing procfs, a "pseudo" file system dynamically generated by Linux to provide information about the status of entries in its process table.
Go to file
Jim Warner 5cd29e5093 top: restore configuration file backward compatibility
The Debian bug referenced below has nothing to do with
locales. In fact, top was made locale independent back
in release 3.3.13 (April, 2018). However, that bug did
reveal some misplaced logic which this patch corrects.

Prompted by the Qualys audit, all rcfile field strings
were checked for potential duplicates which could only
have resulted from some user's manual/malicious edits.

Unfortunately, that code was executed before top had a
chance to enforce the proper/maximum string length (in
the event an extremely old rcfile had just been read).
This created some potential string overrun references.

In top's original 3.3.15 implementation, the potential
overrun extended for 15 characters. That is the number
of field characters added with 3.3.9 (December, 2013).
But, since strchr() was used, no error exit was taken.

In the revised 3.3.16 implementation, the strchr() was
replaced with '&w->rc.fieldscur[n]'. This held overrun
to a single position while producing an error message.

So, this commit just moves that logic to a point where
fieldscur is guaranteed to be longer than EU_MAXPFLGS.

Reference(s):
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=951335
. revised 3.3.16 validation logic
commit 291d98ee50
. original 3.3.15 validation logic
commit fdb58974e2

Signed-off-by: Jim Warner <james.warner@comcast.net>
2020-02-18 11:20:58 +11:00
contrib
Documentation miscellaneous: remove some trailing whitespace buildup 2015-06-20 07:46:23 +10:00
include Build fails if not done from the source root directory (#105) 2018-08-08 19:55:02 +10:00
lib misc: fix strtod_nol_err tests 2016-07-13 20:08:51 +10:00
man-po build-sys: update man translation makefile 2019-11-28 21:53:43 +11:00
misc
po nls: sync translations with make diatcheck 2019-12-08 14:44:07 +11:00
proc library: tweak that lxc container support a final time 2019-03-26 19:13:42 +11:00
ps ps: for abnormal end allow core dumps (fix qualys bug) 2020-01-06 09:13:29 +11:00
testsuite testsuite: pgrep: Provide test for matching a more than 4k command line; beware as TCL does not seem to match on strings >4k 2019-09-21 16:39:13 +10:00
top top: restore configuration file backward compatibility 2020-02-18 11:20:58 +11:00
.gitignore build-sys: update man translation makefile 2019-11-28 21:53:43 +11:00
.gitlab-ci.yml added gettext to dependency 2016-04-20 22:15:27 +10:00
AUTHORS
autogen.sh
ChangeLog
configure.ac build-sys: Use po4a for manpage translations 2019-11-11 21:41:00 +11:00
COPYING
COPYING.LIB
create-man-pot.sh misc: Update translations 2018-03-12 14:24:49 +11:00
free.1 docs: use correct units in free.1 2018-05-31 20:34:13 +10:00
free.c free: fix scaling on 32-bit systems 2018-04-10 21:20:25 +10:00
INSTALL.md
kill.1 docs: Tidying of ps,kill and skill manpages 2018-05-31 21:18:27 +10:00
Makefile.am library: Adjust version for release 2019-12-08 14:56:53 +11:00
NEWS top: restore configuration file backward compatibility 2020-02-18 11:20:58 +11:00
pgrep.1 misc: update for pgrep runstate 2019-03-05 07:59:48 +11:00
pgrep.c pgrep: check sanity of SC_ARG_MAX 2020-01-05 15:05:55 +11:00
pidof.1 pidof: Fix separator option 2019-09-21 16:17:05 +10:00
pidof.c pidof: Fix separator option 2019-09-21 16:17:05 +10:00
pkill.1
pmap.1
pmap.c pmap: Fix extended mode in one_proc(). 2018-05-19 07:32:22 +10:00
procio.c procio: fix potential out-of-bounds access when write fails 2019-03-04 21:44:52 +11:00
pwdx.1
pwdx.c pwdx: Fix a misleading comment. 2018-05-19 07:32:21 +10:00
README.md misc: Remove build badge 2018-06-23 22:51:12 +10:00
skill.1 docs: skill.1 - Remove trailing ^Z 2019-10-31 14:24:17 +11:00
skill.c snice: Fix matching on PID 2019-10-22 08:14:35 +11:00
slabtop.1
slabtop.c slabtop: Reset slab_list if get_slabinfo() fails. 2018-05-19 07:32:21 +10:00
snice.1
sysctl.8 docs: sysctl.8 clarify when w flag is required 2018-02-19 21:05:42 +11:00
sysctl.c sysctl: ignore errors from lines starting with - 2019-09-21 15:50:53 +10:00
sysctl.conf misc: Add link protection examples to sysctl.conf 2018-03-03 18:56:20 +11:00
sysctl.conf.5 sysctl: ignore errors from lines starting with - 2019-09-21 15:50:53 +10:00
tload.1
tload.c tload: Prevent integer overflows of ncols, nrows, and scr_size. 2018-05-19 07:32:21 +10:00
translate-man.sh
uptime.1
uptime.c uptime: Check the return value of various functions. 2018-05-19 07:32:21 +10:00
vmstat.8 Fix error in vmstat documentation. 2018-06-23 22:15:33 +10:00
vmstat.c vmstat: Prevent out-of-bounds writes in new_header() and diskheader(). 2018-06-13 22:06:51 +10:00
w.1
w.c w: Clamp maxcmd to the MIN/MAX_CMD_WIDTH range. 2018-06-13 22:05:18 +10:00
watch.1 docs: Reword --exec option in watch.1 2018-03-03 18:26:47 +11:00
watch.c watch: fix unsetting of COLOR flag 2019-09-21 16:03:28 +10:00

procps

procps is a set of command line and full-screen utilities that provide information out of the pseudo-filesystem most commonly located at /proc. This filesystem provides a simple interface to the kernel data structures. The programs of procps generally concentrate on the structures that describe the processess running on the system.

The following programs are found in procps:

  • free - Report the amount of free and used memory in the system
  • kill - Send a signal to a process based on PID
  • pgrep - List processes based on name or other attributes
  • pkill - Send a signal to a process based on name or other attributes
  • pmap - Report memory map of a process
  • ps - Report information of processes
  • pwdx - Report current directory of a process
  • skill - Obsolete version of pgrep/pkill
  • slabtop - Display kernel slab cache information in real time
  • snice - Renice a process
  • sysctl - Read or Write kernel parameters at run-time
  • tload - Graphical representation of system load average
  • top - Dynamic real-time view of running processes
  • uptime - Display how long the system has been running
  • vmstat - Report virtual memory statistics
  • w - Report logged in users and what they are doing
  • watch - Execute a program periodically, showing output fullscreen

Reporting Bugs

There are a few ways of reporting bugs or feature requests:

  1. Your distributions bug reporter. If you are using a distribution your first port of call is their bug tracker. This is because each distribution has their own patches and way of dealing with bugs. Also bug reporting often does not need any subscription to websites.
  2. GitLab Issues - To the left of this page is the issue tracker. You can report bugs here.
  3. Email list - We have an email list (see below) where you can report bugs. The problem with this method is bug reports often get lost and cannot be tracked. This is especially a big problem when its something that will take time to resolve.

If you need to report bugs, there is more details on the Bug Reporting page.

Email List

The email list for the developers and users of procps is found at http://www.freelists.org/archive/procps/ This email list discusses the development of procps and is used by distributions to also forward or discuss bugs.